Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Returnerar ett boolesk värde som anger om ett INSERT- eller UPDATE-försök gjordes på en specificerad kolumn i en tabell eller vy. UPDATE() används var som helst inne i kroppen på en Transact-SQL INSERT- eller UPDATE-trigger för att testa om triggern ska utföra vissa handlingar.
Transact-SQL syntaxkonventioner
Syntax
UPDATE ( column )
Arguments
kolumn
Är namnet på kolumnen att testa för antingen en INSERT- eller UPDATE-åtgärd. Eftersom tabellnamnet anges i ON-klausulen i triggern, inkludera inte tabellnamnet före kolumnnamnet. Kolumnen kan vara av vilken datatyp som helst som stöds av SQL Server. Dock kan beräknade kolumner inte användas i detta sammanhang.
Returtyper
Boolean
Anmärkningar
UPDATE() returnerar TRUE oavsett om ett INSERT- eller UPDATE-försök lyckas.
För att testa för en INSERT- eller UPDATE-åtgärd för mer än en kolumn, ange en separat UPDATE(kolumn)-klausul efter den första. Flera kolumner kan också testas för INSERT- eller UPDATE-åtgärder genom att använda COLUMNS_UPDATED. Detta returnerar ett bitmönster som visar vilka kolumner som har infogats eller uppdaterats.
IF UPDATE returnerar värdet TRUE i INSERT-handlingar eftersom kolumnerna antingen har explicita värden eller implicita (NULL) värden insatta.
Anmärkning
IF UPDATE(kolumn)-klausulen fungerar på samma sätt som en IF, IF... ELSE, eller WHILE-klausulen och kan använda BEGIN... SLUTBLOCK. För mer information, se Control-of-Flow Language (Transact-SQL).
UPDATE(kolumn) kan användas var som helst inne i kroppen på en Transact-SQL-trigger.
Om en trigger gäller för en kolumn UPDATED kommer värdet att returnera som true eller 1, även om kolumnvärdet förblir oförändrat. Detta är avsiktligt och utlösaren bör implementera affärslogik som avgör om åtgärden insert/update/delete är tillåten eller inte.
Examples
Följande exempel skapar en trigger som skriver ut ett meddelande till klienten när någon försöker uppdatera StateProvinceID eller PostalCode kolumnerna i tabellen Address .
USE AdventureWorks2022;
GO
IF EXISTS (SELECT name FROM sys.objects
WHERE name = 'reminder' AND type = 'TR')
DROP TRIGGER Person.reminder;
GO
CREATE TRIGGER reminder
ON Person.Address
AFTER UPDATE
AS
IF ( UPDATE (StateProvinceID) OR UPDATE (PostalCode) )
BEGIN
RAISERROR (50009, 16, 10)
END;
GO
-- Test the trigger.
UPDATE Person.Address
SET PostalCode = 99999
WHERE PostalCode = '12345';
GO
Se även
COLUMNS_UPDATED (Transact-SQL)
SKAPA UTLÖSARE (Transact-SQL)