sql >> Database teknologi >  >> RDS >> Sqlserver

Indsæt opdatering udløser, hvordan man bestemmer, om indsætte eller opdatere

Triggere har en speciel INSERTED og DELETED tabeller til at spore "før" og "efter" data. Så du kan bruge noget som IF EXISTS (SELECT * FROM DELETED) for at registrere en opdatering. Du har kun rækker i DELETED ved opdatering, men der er altid rækker i INSERTED .

Se efter "indsat" i CREATE TRIGGER.

Redigeret, 23. november 2011

Efter kommentar er dette svar kun for INSERTED og UPDATED triggere.
Det er klart, DELETE-triggere kan ikke have "altid rækker i INSERTED " som jeg sagde ovenfor



  1. Efterfølgende nul

  2. Hvad er MySQL? – En introduktion til databasestyringssystemer

  3. serie i postgres bliver øget, selvom jeg tilføjede om konflikt gør ingenting

  4. Sådan fungerer ORIGINAL_DB_NAME() i SQL Server