Вы находитесь на странице: 1из 3

Esempi di trigger su SQL Server 2005

Trigger 1

/**** Cancello dalla tabella API_DOMAINS il dominio appena cancellato dalla tabella DOMAINS ****/ CREATE TRIGGER Tr_DeleteDomainInApiDomains ON DOMAIN FOR DELETE AS BEGIN SET NOCOUNT ON BEGIN DELETE FROM API_DOMAINS WHERE ID_DOMAIN = (SELECT ID_DOMAIN FROM Deleted) END END

Trigger 2

CREATE TRIGGER tri_dom_data_rinn ON dbo.DOMAIN FOR UPDATE AS BEGIN SET NOCOUNT ON IF UPDATE(D_D_DATA_RINNOVO) BEGIN DECLARE @id_dominio int DECLARE @old_data datetime DECLARE @new_data datetime SELECT SELECT SELECT INSERT SELECT END END @id_dominio = (select ID_DOMAIN FROM deleted) @old_data = (select D_D_DATA_RINNOVO FROM deleted) @new_data = (select D_D_DATA_RINNOVO FROM inserted) CambiDataRinnovo(ID_DOMAIN, OLD_DATA, NEW_DATA) @id_dominio, @old_data,@new_data

TRIGGER 3
CREATE TRIGGER tri_dom_data_att ON dbo.DOMAIN FOR UPDATE AS BEGIN SET NOCOUNT ON IF UPDATE(D_D_DATA_1_ATT) BEGIN DECLARE @id_dominio int DECLARE @old_data datetime DECLARE @new_data datetime SELECT SELECT SELECT INSERT SELECT END END @id_dominio = (select ID_DOMAIN FROM deleted) @old_data = (select D_D_DATA_1_ATT FROM deleted) @new_data = (select D_D_DATA_1_ATT FROM inserted) CambiDataAttivazione(ID_DOMAIN, OLD_DATA_ATT, NEW_DATA_ATT) @id_dominio, @old_data,@new_data

TRIGGER 4
/**** Se si verifica un update sulla colonna EXPIRE_DATE della tabella DOMAIN allora leggo alcuni campi ed eseguo una insert sulla tabella CambiDataExpire. ****/ CREATE TRIGGER [dbo].[tri_dom_data_expire] ON dbo.DOMAIN FOR UPDATE AS BEGIN SET NOCOUNT ON IF UPDATE(EXPIRE_DATE) BEGIN DECLARE @id_dominio int DECLARE @old_data datetime DECLARE @new_data datetime SELECT SELECT SELECT @id_dominio = (select ID_DOMAIN FROM deleted) @old_data = (select EXPIRE_DATE FROM deleted) @new_data = (select EXPIRE_DATE FROM inserted)

IF NOT (@id_dominio IS NULL) BEGIN INSERT CambiDataExpire(ID_DOMAIN, OLD_DATA, NEW_DATA) SELECT @id_dominio, @old_data,@new_data END END END

Вам также может понравиться