>Nel caso specifico devo creare un trigger che comprende tutte
>e 3 le operazioni(Insert, Update, Delete) ma non trovo il modo
>per riconoscere l'operazione che scatena il trigger.
>
>In PostgreSQL esiste l'operatore TG_OP che riconosce l'operazione,
>quindi basta scrivere IF (TG_OP = 'DELETE') THEN, IF (TG_OP =
>'INSERT') THEN etc etc...
Ciao walteradrian,
carino PostgreSQL
SQL Server è "meno evoluto" ma puoi testare in cascata il numero di righe contenute nelle tabella virtuali INSERTED e DELETED:
IF (SELECT COUNT(*) FROM INSERTED) > 0
AND (SELECT COUNT(*) FROM DELETED) > 0
BEGIN
-- UPDATE
....
END
ELSE IF (SELECT COUNT(*) FROM INSERTED) > 0
BEGIN
-- INSERT
....
END
ELSE
BEGIN
-- DELETE
....
END
>Vi ringrazio anticipatamente
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org