Dela via


Ändra data via en vy

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

Du kan ändra data för en underliggande bastabell i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL.

Begränsningar

Se avsnittet 'Uppdateringsbara vyer' i CREATE VIEW.

Behörigheter

Kräver UPDATE, INSERTeller DELETE behörigheter i måltabellen, beroende på vilken åtgärd som utförs.

Använda SQL Server Management Studio

Ändra tabelldata via en vy

  1. I Object Explorerexpanderar du databasen som innehåller vyn och expanderar sedan Vyer.

  2. Högerklicka på vyn och välj Redigera de 200 översta raderna.

  3. Du kan behöva ändra -instruktionen SELECT i SQL-fönstret för att returnera de rader som ska ändras.

  4. Leta upp den rad som ska ändras eller tas bort i fönstret Resultat. Om du vill ta bort raden högerklickar du på raden och väljer Ta bort. Ändra data i kolumnen om du vill ändra data i en eller flera kolumner.

    Du kan inte ta bort en rad om vyn refererar till mer än en bastabell. Du kan bara uppdatera kolumner som tillhör en enda bastabell.

  5. Om du vill infoga en rad rullar du ned till slutet av raderna och infogar de nya värdena.

    Du kan inte infoga en rad om visningen refererar till mer än en bastabell.

Använd Transact-SQL

Uppdatera tabelldata genom en vy

  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. I det här exemplet ändras värdet i kolumnerna StartDate och EndDate för en viss medarbetare genom att referera till kolumner i vyn HumanResources.vEmployeeDepartmentHistory. Den här vyn returnerar värden från två tabeller. Den här instruktionen lyckas eftersom kolumnerna som ändras bara kommer från en av bastabellerna.

    USE AdventureWorks2022;
    GO
    
    UPDATE HumanResources.vEmployeeDepartmentHistory
        SET StartDate = '20110203',
            EndDate   = GETDATE()
    WHERE LastName = N'Smith'
          AND FirstName = 'Samantha';
    GO
    

Mer information finns i UPPDATERA.

Infoga tabelldata genom en vy

  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. Exemplet infogar en ny rad i bastabellen HumanResources.Department genom att ange relevanta kolumner från vyn HumanResources.vEmployeeDepartmentHistory. Instruktionen lyckas eftersom endast kolumner från en enda bastabell anges och de andra kolumnerna i bastabellen har standardvärden.

    USE AdventureWorks2022;
    GO
    
    INSERT INTO HumanResources.vEmployeeDepartmentHistory (Department, GroupName)
    VALUES ('MyDepartment', 'MyGroup');
    GO
    

Mer information finns i INSERT.