Dela via


Skapa vyer

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Du kan skapa vyer i SQL Server Database Engine med hjälp av SQL Server Management Studio eller Transact-SQL. En vy kan användas för följande syften:

  • För att fokusera, förenkla och anpassa den uppfattning som varje användare har av databasen.

  • Som en säkerhetsmekanism genom att tillåta användare att komma åt data via vyn, utan att ge användarna behörighet att komma åt de underliggande bastabellerna direkt.

  • För att tillhandahålla ett bakåtkompatibelt gränssnitt för att emulera en tabell vars schema har ändrats.

Begränsningar

En vy kan bara skapas i den aktuella databasen.

En vy kan ha högst 1 024 kolumner.

Behörigheter

Kräver CREATE VIEW-behörighet i databasen och ALTER-behörighet för schemat där vyn skapas.

Använda SQL Server Management Studio

  1. I Object Explorerexpanderar du databasen där du vill skapa den nya vyn.

  2. Högerklicka på mappen Vyer och välj sedan Ny vy....

  3. I dialogrutan Lägg till tabell väljer du det element eller element som du vill ta med i den nya vyn från någon av följande flikar: Tabeller, Vyer, Funktioner och Synonymer.

  4. Välj Lägg tilloch välj sedan Stäng.

  5. I fönstret diagramväljer du de kolumner eller andra element som ska inkluderas i den nya vyn.

  6. I villkorsfönstretväljer du ytterligare sorterings- eller filtervillkor för kolumnerna.

  7. På menyn Arkiv väljer du Spara visningsnamn.

  8. I dialogrutan Välj namn anger du ett namn för den nya vyn och väljer OK.

    Mer information om frågan och vydesignern finns i Query and View Designer Tools (Visual Database Tools).

Använd Transact-SQL

  1. I Object Exploreransluter du till en instans av databasmotorn.

  2. I standardfältet väljer du Ny fråga.

  3. Kopiera och klistra in följande exempel i frågefönstret och välj Kör.

    USE AdventureWorks2022;
    GO
    
    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;
    GO
    
    -- Query the view
    SELECT FirstName,
        LastName,
        HireDate
    FROM HumanResources.EmployeeHireDate
    ORDER BY LastName;
    GO
    

Nästa steg