Sdílet prostřednictvím


Úprava zobrazení

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)databáze SQL v Microsoft Fabric

Po definování zobrazení můžete upravit jeho definici v databázovém stroji SQL Serveru bez vyřazení a opětovného vytvoření zobrazení pomocí aplikace SQL Server Management Studio nebo Jazyka Transact-SQL.

Limity a omezení

  • Úprava zobrazení nemá vliv na žádné závislé objekty, jako jsou uložené procedury nebo triggery, pokud se definice zobrazení nezmění tak, aby závislý objekt již nebyl platný.

  • 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í.

Dovolení

K provedení ALTER VIEW je potřeba mít alespoň oprávnění ALTER k objektu.

Použití aplikace SQL Server Management Studio

  1. V Průzkumníku objektůklikněte na ikonu plus vedle databáze, kde je umístěné vaše zobrazení, a poté klikněte na ikonu plus vedle složky Zobrazení.

  2. Klikněte pravým tlačítkem myši na zobrazení, které chcete upravit, a vyberte Návrh.

  3. V podokně diagramu návrháře dotazů proveďte změny zobrazení jedním nebo několika z následujících způsobů:

    1. Zaškrtněte nebo zrušte zaškrtnutí políček u všech prvků, které chcete přidat nebo odebrat.

    2. Klikněte pravým tlačítkem myši v podokně diagramu, vyberte Přidat tabulku...a potom v dialogovém okně Přidat tabulku vyberte další sloupce, které chcete přidat do zobrazení.

    3. Pravým tlačítkem myši klikněte na záhlaví tabulky, kterou chcete odebrat, a vyberte Odebrat.

  4. V nabídce Soubor zvolte Uložit název zobrazení.

Použijte Transact-SQL

  1. V Průzkumník objektůse připojte k instanci databázového stroje.

  2. Na panelu Standard vyberte Nový dotaz.

  3. Zkopírujte a vložte následující příklad do okna dotazu a vyberte Spustit. Příklad nejprve vytvoří zobrazení a pak upraví zobrazení pomocí příkazu ALTER VIEW. Do definice zobrazení se přidá klauzule WHERE.

    USE AdventureWorks2022;
    GO
    
    -- Create a view
    CREATE VIEW HumanResources.EmployeeHireDate
    AS
    SELECT p.FirstName,
         p.LastName,
         e.HireDate
    FROM HumanResources.Employee AS e
    INNER JOIN Person.Person AS p
         ON e.BusinessEntityID = p.BusinessEntityID;
    
    -- Modify the view by adding a WHERE clause to limit the rows returned
    ALTER VIEW HumanResources.EmployeeHireDate
    AS
    SELECT p.FirstName,
         p.LastName,
         e.HireDate
    FROM HumanResources.Employee AS e
    INNER JOIN Person.Person AS p
         ON e.BusinessEntityID = p.BusinessEntityID
    WHERE HireDate < CONVERT(DATETIME, '20020101', 101);
    GO
    

Další kroky

  • ZMĚNIT ZOBRAZENÍ (Transact-SQL)