Creazione di un trigger su tabella SQL Server. Post a titolo di promemoria. :-)
Codice per la creazione della tabella di esempio
CREATE TABLE [dbo].[Utenti](
[Utente_ID] [int] IDENTITY(1,1) NOT NULL,
[Utente_Cognome] [varchar](20) NOT NULL,
[Utente_Nome] [varchar](20) NOT NULL,
[Utente_Piano] [int] NULL,
[Utente_Telefono] [varchar](15) NULL,
[Utente_Email] [varchar](50) NULL,
CONSTRAINT [PK_Utenti] PRIMARY KEY CLUSTERED
(
[Utente_ID] ASC ) ON [PRIMARY] ) ON [PRIMARY]
Codice per la creazione del trigger
-- Crea un trigger per l'inserimento e l'aggiornamento. -- Viene recuperato il valore del campo [Utente_Cognome] inserito o aggiornato CREATE TRIGGER [Aggiorna]
ON [Utenti] AFTER INSERT,UPDATE
AS
BEGIN
DECLARE @Cognome varchar(20 )
SET @Cognome =(SELECT inserted.[Utente_Cognome] FROM inserted)
EXECUTE TestTrigger @Cognome
END
Codice per la Stored Procedure di Test
-- Modifica il valore del campo [Utente_Cognome] in 'Nuovo Cognome' CREATE PROCEDURE [TestTrigger]
@Utente_Cognome varchar(50)
AS
UPDATE Utenti SET Utente_Nome = 'Nuovo Cognome' WHERE Utente_Cognome =@Utente_Cognome
La combinazione trigger/stored procedure in questo caso è veramente insignificante, ma in realtà si potrebbero eseguire calcoli,recupero di dati, operazioni di verifica etc...