Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Koncový bod analýzy SQL v Microsoft Fabric
Sklad v Microsoft Fabric
Databáze SQL v Microsoft Fabric
Upravuje dříve vytvořený pohled. To zahrnuje i indexovaný pohled. ALTER VIEW neovlivňuje závislé uložené procedury ani spouštěče a nemění oprávnění.
Syntaxe
ALTER VIEW [ schema_name . ] view_name [ ( column [ ,...n ] ) ]
[ WITH <view_attribute> [ ,...n ] ]
AS select_statement
[ WITH CHECK OPTION ] [ ; ]
<view_attribute> ::=
{
[ ENCRYPTION ]
[ SCHEMABINDING ]
[ VIEW_METADATA ]
}
-- Syntax for Azure Synapse Analytics and Parallel Data Warehouse and Microsoft Fabric
ALTER VIEW [ schema_name . ] view_name [ ( column_name [ ,...n ] ) ]
AS <select_statement>
[;]
Arguments
schema_name
Je název schématu, ke kterému tento pohled patří.
view_name
Je názor k změně.
sloupce
Je název jednoho nebo více sloupců, oddělených čárkami, které mají být součástí určeného pohledu.
Důležité
Oprávnění ke sloupcům jsou zachována pouze tehdy, když mají sloupce stejný název před a po provedení ALTER VIEW.
Poznámka:
Ve sloupcích pro zobrazení platí oprávnění pro název sloupce i přes příkaz CREATE VIEW nebo ALTER VIEW, bez ohledu na zdroj podkladových dat. Například pokud jsou ve příkazu CREATE VIEW udělena oprávnění na sloupci SalesOrderID, může příkaz ALTER VIEW přejmenovat sloupec SalesOrderID, například na OrderRef, a stále mít oprávnění spojená s view pomocí SalesOrderID.
ŠIFROVÁNÍ
Platí na: SQL Server 2008 (10.0.x) a pozdější a Azure SQL Database.
Šifruje záznamy v sys.syscomment , které obsahují text příkazu ALTER VIEW. WITH ENCRYPTION zabraňuje publikování pohledu jako součásti replikace SQL Serveru.
SCHEMABINDING
Spojuje pohled se schématem podkladové tabulky nebo tabulek. Když je specifikován SCHEMABINDING, základní tabulky nelze upravovat tak, aby ovlivnila definici pohledu. Samotná definice pohledu musí být nejprve upravena nebo odstraněna, aby se odstranily závislosti na tabulce, která má být upravena. Když používáte SCHEMABINDING, select_statement musí obsahovat dvoudílné názvy (schéma.objekt) tabulek, pohledů nebo uživatelem definovaných funkcí, na které se odkazuje. Všechny odkazované objekty musí být ve stejné databázi.
Pohledy nebo tabulky, které se účastní pohledu vytvořeného pomocí klauzule SCHEMABINDING, nelze vyřadit, pokud tento pohled není odstraněn nebo změněn tak, že již nemá schématové vázání. Jinak databázový engine zobrazí chybu. Také provádění příkazů ALTER TABLE v tabulkách, které se účastní pohledů s vázaním schématu, selže, pokud tyto příkazy ovlivňují definici zobrazení.
VIEW_METADATA
Specifikuje, že instance SQL Serveru vrátí do databázové knihovny, ODBC a OLE DB API metadata o pohledu, místo základní tabulky nebo tabulek, když jsou požadována metadata v režimu prohlížení pro dotaz, který odkazuje na tento pohled. Metadata v režimu prohlížení jsou další metadata, která instance Database Engine vrací klientským databázovým knihovnám, ODBC a OLE DB API. Tato metadata umožňují klientským API implementovat aktualizovatelné kurzory na straně klienta. Metadata v režimu prohlížení zahrnují informace o základní tabulce, do které sloupce ve výsledné sadě patří.
Pro pohledy vytvořené pomocí VIEW_METADATA metadata v režimu procházení vrací název pohledu, nikoli názvy základních tabulek, když popisují sloupce z pohledu ve výsledné sadě.
Když je pohled vytvořen pomocí WITH VIEW_METADATA, všechny jeho sloupce, kromě sloupce časového razítka , jsou aktualizovatelné, pokud má pohled místo spouštěčů INSERT nebo UPDATE. Pro více informací viz sekce Poznámky v VIEW CREATE (Transact-SQL).
PROTOŽE
Jsou to činy, které má pohled podniknout.
select_statement
Je příkaz SELECT, který definuje pohled.
S MOŽNOSTÍ ZAŠKRTNOUT
Nutí všechny příkazy o úpravě dat, které jsou prováděny proti tomuto názoru, aby dodržovaly kritéria stanovená v rámci select_statement.
Poznámky
Pro více informací o ALTER VIEW viz Poznámky v CREATE VIEW (Transact-SQL).
Poznámka:
Pokud byla předchozí definice zobrazení vytvořena pomocí S ŠIFROVÁNÍM nebo ZAŠKRTNOUT MOŽNOST, tyto možnosti jsou povoleny pouze tehdy, pokud jsou zahrnuty v ALTER VIEW.
Pokud je aktuálně použité zobrazení změněno pomocí ALTER VIEW, databázový stroj na toto zobrazení převezme výhradní zámek schématu. Pokud je zámek udělený a nejsou k dispozici žádní aktivní uživatelé zobrazení, databázový stroj odstraní všechny kopie zobrazení z mezipaměti procedur. Existující plány odkazující na zobrazení zůstanou v mezipaměti, ale při vyvolání se znovu kompilují.
ALTER VIEW lze použít pro indexovaná zobrazení; alter VIEW však bezpodmínečně zahodí všechny indexy v zobrazení.
Povolení
K provedení ALTER VIEW je potřeba mít alespoň oprávnění ALTER k objektu.
Examples
Následující příklad vytváří pohled, který obsahuje všechny zaměstnance a jejich data nástupu, nazývaný EmployeeHireDate. Oprávnění k zobrazení jsou udělena, ale požadavky se mění na vybrané zaměstnance, jejichž data nástupu připadají před určité datum. Pak se používá k ALTER VIEW nahrazení pohledu.
USE AdventureWorks2022;
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
Pohled musí být změněn tak, aby zahrnoval pouze zaměstnance, kteří byli najati před .2002 Pokud se ALTER VIEW nepoužije, ale místo toho je pohled opuštěn a znovu vytvořen, je nutné znovu zadat dříve použitý příkaz GRANT a všechny další příkazy týkající se oprávnění k tomuto pohledu.
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
Viz také
VYTVOŘIT TABULKU (Transact-SQL)
VYTVOŘIT ZOBRAZENÍ (Transact-SQL)
DROP VIEW (Transact-SQL)
Vytvoření uložené procedury
SELECT (Transact-SQL)
EVENTDATA (Transact-SQL)
Změny schémat v databázích publikací