ALTER VIEW języka Transact-SQL)

Modyfikuje wcześniej utworzony widok.Zawiera indeksowany widok.ALTER VIEW nie dotyczy zależnych procedur przechowywanych i wyzwalaczy i nie zmienia uprawnienia.Aby uzyskać więcej informacji na temat parametrów w instrukcjaALTER VIEW, zobacz CREATE VIEW (Transact-SQL).

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

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
    Jest to nazwa schematu, do której należy dany widok.

  • view_name
    Jest to widok, aby zmienić.

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

    Ważna informacjaWażne:

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

    Ostrzeżenie

    W kolumnach widoku stosowanie uprawnień dla nazwy kolumna poprzez tworzenie WIDOKU lub ALTER VIEW instrukcja, niezależnie od źródło danych.Na przykład, jeśli uprawnienia są przyznawane na SalesOrderID nazwękolumna w instrukcjaCREATE VIEW ALTER VIEW instrukcja można zmienić SalesOrderID kolumna, takich jak OrderReforaz uprawnień związanych z użyciem widoku SalesOrderID.

  • SZYFROWANIE
    Szyfruje wpisy w sys.syscomments zawierające tekst instrukcjaALTER VIEW.SZYFROWANIE uniemożliwia widoku publikowana jako część SQL Server replikacja.

  • SCHEMABINDING
    Wiąże widoku schematu podstawowej tabela lub tabel.Po określeniu SCHEMABINDING tabel podstawowych nie mogą być modyfikowane w sposób, który będzie miało wpływu na definicję widoku.Należy najpierw modyfikacji samej definicji widoku lub porzucone usunąć zależności w tabela ma zostać zmodyfikowana.Podczas korzystania z 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 obiekty muszą być w tej samej bazy danych.

    Widoki lub tabele uczestniczące w widoku utworzone za pomocą SCHEMABINDING klauzula nie zostanie usunięty, chyba że widok jest usunięte lub zmienione tak, aby go nie ma już powiązanieschematu.W przeciwnym razie Aparat baz danych podnosi błąd.Ponadto wykonywanie instrukcji ALTER TABLE instrukcji na tabele uczestniczące w widokach, które mają powiązanie schematu nie Jeśli instrukcje te mają wpływ na definicję widoku.

  • VIEW_METADATA
    Określa, że wystąpienie SQL Server powróci do DB-biblioteki i ODBC, OLE DB API metadane dotyczące widoku zamiast tabela bazowa lub tabelach, gdy w trybie przeglądania metadane wymagane jest dla kwerendy, która odwołuje się do widoku.W trybie przeglądania metadane jest dodatkowe metadane , wystąpienie Aparat baz danych zwraca do klient-strona DB-biblioteki i ODBC, OLE DB API.metadane umożliwia klient-po stronie API implementuje aktualizowalna klient-po stronie kursory.W trybie przeglądania metadane zawiera informacje o tabela bazowa kolumn w zestaw wyników należą do.

    Dla widoków utworzone za pomocą VIEW_METADATA trybie przeglądania metadane zwraca nazwę widoku i nie tabela bazowa nazw, gdy opis kolumny z widoku w zestaw wyników.

    Po utworzeniu widoku za pomocą Z VIEW_METADATA, jej kolumn z wyjątkiem sygnatury czasowej kolumna, które można aktualizować, jeśli widok ma INSERT lub UPDATE INSTEAD OF wyzwala są.Aby uzyskać więcej informacji, zobacz sekcję Uwagi w CREATE VIEW (Transact-SQL).

  • JAK
    Są akcje, które ma mieć widok.

  • select_statement
    Jest SELECT instrukcja , definiująca widok.

  • Z OPCJI WYBORU
    Zmusza wszystkie instrukcje modyfikacji danych, które są wykonywane przed widoku wykonaj kryteria zestaw w select_statement.

Uwagi

Aby uzyskać więcej informacji na temat ALTER VIEW patrz uwagi w CREATE VIEW (Transact-SQL).

Ostrzeżenie

Jeśli poprzednie definicji widoku została utworzona za pomocą szyfrowania z lub sprawdź, czy opcja, opcje te są włączone tylko wtedy, gdy zostały one uwzględnione w ALTER VIEW.

Jeśli widok aktualnie używany jest zmodyfikowany przy użyciu ALTER VIEW Aparat baz danych ma wyłączne schematu blokada w widoku.Gdy udzielone blokada i nie ma aktywnych użytkowników widoku, Aparat baz danych Usuwa wszystkie kopie widoku z pamięć podręczna procedury.Istniejących planów odwoływania się do widoku pozostają w pamięci podręcznej, ale są ponownie kompilowane, gdy wywoływana.

Zmienianie WIDOKU można zastosować do Widoki indeksowane; Jednakże ALTER VIEW bezwarunkowo porzuca wszystkie indeksy w widoku.

Uprawnienia

wykonać ALTER VIEW minimum ZMIEŃ uprawnienia dla obiektu jest wymagany.

Przykłady

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

USE AdventureWorks2008R2 ;
GO
CREATE VIEW HumanResources.EmployeeHireDate
AS
SELECT p.FirstName, p.LastName, e.HireDate
FROM HumanResources.Employee AS e JOIN Person.Person AS  p
ON e.BusinessEntityID = p.BusinessEntityID ;
GO

Widok musi zostać zmieniona, aby uwzględnić tylko pracowników, które zostały wynajęte przed 2002.ALTER VIEW nie jest używany, ale zamiast tego usunięty i utworzony widok poprzednio GRANT instrukcja i innych sprawozdań traktujących o uprawnienia odnoszące się do tego widoku należy wprowadzić ponownie.

ALTER VIEW HumanResources.EmployeeHireDate
AS
SELECT p.FirstName, p.LastName, e.HireDate
FROM HumanResources.Employee AS e JOIN Person.Person AS  p
ON e.BusinessEntityID = p.BusinessEntityID
WHERE HireDate < CONVERT(DATETIME,'20020101',101) ;
GO