ALTER VIEW (Transact-SQL)

Modyfikuje widok utworzonego wcześniej.Dotyczy to także widok indeksowany.ALTER VIEW nie ma wpływu na utrzymaniu procedur przechowywanych i wyzwalaczy i nie powoduje zmiany uprawnień.Aby uzyskać więcej informacji na temat parametrów w instrukcja ALTER VIEW zobacz CREATE VIEW języka Transact-SQL).

Topic link iconKonwencje składni języka Transact-SQL

ALTER VIEW [ schema_name . ] view_name [ ( column [ ,...n ] ) ] 
[ WITH <view_attribute> [ ,...n ] ] 
AS select_statement 
[ WITH CHECK OPTION ] [ ; ]

<view_attribute> ::= 
{ 
    [ ENCRYPTION ]
    [ SCHEMABINDING ]
    [ VIEW_METADATA ]     
} 

Argumenty

  • schema_name
    To nazwa schematu, do której należy dany widok.

  • view_name
    Jest to widok, aby zmienić.

  • column
    Jest nazwą jednej lub kilku kolumn, oddzielając je średnikami, które mają być częścią określony widok.

    Important noteImportant Note:

    Uprawnienia kolumna są zachowywane tylko wtedy, gdy kolumna mają taką samą nazwę, przed i po wykonaniu instrukcji ALTER VIEW.

    Uwaga

    Uprawnienia dla nazwy kolumn mają zastosowanie w całym instrukcja CREATE VIEW i ALTER VIEW, niezależnie od urządzenie źródłowe danych w kolumnach widoku.Na przykład, jeśli uprawnienia są udzielane na SalesOrderID kolumna w instrukcja CREATE VIEW, instrukcja ALTER VIEW można zmienić nazwy SalesOrderID kolumna, takich jak OrderRefi nadal mieć uprawnienia związane z widoku przy użyciu SalesOrderID.

  • SZYFROWANIE
    Szyfruje wpisy w sys.syscomments zawierających tekst instrukcja ALTER VIEW.WITH szyfrowanie uniemożliwia widoku publikowana jako część replikacja w programie SQL Server.

  • SCHEMABINDING
    Wiąże widoku schematu z podstawowej tabela lub tabel.Po określeniu SCHEMABINDING tabel podstawowych nie mogą być modyfikowane w taki sposób, że będzie miało wpływu na definicję widoku.Sama definicja widoku musi najpierw zmodyfikowana lub porzucone usunąć zależności w tabela, która ma zostać zmodyfikowana.Kiedy używasz SCHEMABINDING, select_statement musi zawierać nazwy dwóch części (schema**.** object) tabele, widoki lub funkcje zdefiniowane przez użytkownika, do których istnieją odwołania.Wszystkie wskazane obiekty muszą być w tej samej bazie danych.

    Widoki lub tabele uczestniczące w widoku utworzone za pomocą klauzula SCHEMABINDING nie zostanie usunięty, chyba że widoku jest usunięte lub zmienione tak, aby go nie ma już wiązanie schematu.W przeciwnym razie Database Engine zgłasza błąd. Ponadto wykonywanie instrukcji ALTER tabela instrukcji na tabele uczestniczące w widokach, które mają wiązanie schematu Jeśli się nie powieść instrukcje te mają wpływ na definicję widoku.

    SCHEMABINDING nie może być określony, jeśli widok zawiera alias kolumny Typ danych.

  • VIEW_METADATA
    Określa, że wystąpienie SQL Server powróci do biblioteki bazy danych ODBC, OLE DB API metadane informacje o widoku, a nie z podstawowej tabela lub tabel, przypadku żądania metadane w trybie przeglądania dla kwerendy, która odwołuje się do widoku. Metadane trybu przeglądania są dodatkowe metadane, wystąpienie Database Engine Zwraca biblioteki bazy danych po stronie klient, ODBC i API OLE DB. Te metadane umożliwia API klient, aby zaimplementować kursory mogą być aktualizowane po stronie klient.Metadane w trybie przeglądania zawiera informacje o tabela bazowa, należące do kolumn zestaw wyników.

    Dla widoków utworzone za pomocą VIEW_METADATA metadane trybu przeglądania zwraca nazwę widoku, a nie nazwy tabela bazowa przy tym artykule opisano kolumny z widoku zestaw wyników.

    Po utworzeniu widoku za pomocą VIEW_METADATA WITH, jej kolumn, z wyjątkiem Sygnatura czasowa kolumna, są można aktualizować, jeśli widok ma INSERT lub UPDATE INSTEAD Z wyzwalaczy.Aby uzyskać więcej informacji zobacz sekcję Uwagi w CREATE VIEW języka Transact-SQL).

  • JAK
    Czy widok jest podjęcie działań.

  • select_statement
    Czy instrukcja SELECT definiująca widok.

  • PO WYBRANIU OPCJI WYBORU
    Wymusza wszystkie instrukcje modyfikacji danych, które są wykonywane przed widoku zgodnie z kryteriami określonymi w select_statement.

Remarks

Aby uzyskać więcej informacji na temat instrukcji ALTER VIEW zobacz uwagi w CREATE VIEW języka Transact-SQL).

Uwaga

Jeżeli poprzednie definicja widoku została utworzona przy użyciu WITH szyfrowanie lub sprawdź OPTION, te opcje są włączone tylko wtedy, gdy zostaną one uwzględnione w instrukcji ALTER VIEW.

Jeżeli aktualnie jest używany widok zostanie zmodyfikowany przy użyciu instrukcji ALTER VIEW Database Engine Trwa blokada wyłączności schemat w widoku. Gdy udzielono blokada i nie ma aktywnych użytkowników widoku, Database Engine Usuwa wszystkie kopie widoku z pamięci podręcznej procedury. Istniejących planów odwoływania się do widoku pozostają w pamięci podręcznej, lecz są ponownie kompilowane, gdy wywołany.

ALTER VIEW mogą być zastosowane do widoków indeksowanych; jednak ALTER VIEW bezwarunkowo porzuca wszystkie indeksy w widoku.

Uprawnienia

wykonać instrukcji ALTER VIEW co najmniej, wymagane jest uprawnienie ALTER na obiekt.

Przykłady

Poniższy przykład tworzy widok zawierający wszystkich pracowników i ich daty zatrudnienia, o nazwie EmployeeHireDate. Uprawnienia są przyznawane w widoku, ale wymagania są zmieniane, aby wybrać pracowników, których data zatrudnienia mieszczą się przed określoną data.Następnie, ALTER VIEW Służy do zastąpienia w widoku.

W widoku musi zostać zmieniony, aby uwzględnić tylko pracowników zatrudnianych zostały przed 1997. Jeśli ALTER VIEW nie są używane, ale zamiast tego widoku usunięty i utworzony ponownie, poprzednio używanego Instrukcja GRANT i wszelkich innych instrukcji, które zajmuje się uprawnienia odnoszące się do tego widoku należy wprowadzić ponownie.