CREATE TABLE [dbo].[MtzProgrammata] ( [idxIntPro] INT IDENTITY (1, 1) NOT NULL, [idxMacchina] INT NULL, [inizio] DATETIME NULL, [codFrequenza] NCHAR (2) NULL, [cadenza] INT NULL, [descrizione] NVARCHAR (2500) NULL, [idxPriorita] INT NULL, [isFermo] BIT CONSTRAINT [DF_MtzProgrammata_isFermo] DEFAULT ((1)) NULL, [idxTipo] INT NULL, CONSTRAINT [PK_MtzProgrammata] PRIMARY KEY CLUSTERED ([idxIntPro] ASC), CONSTRAINT [FK_MtzProgrammata_AnagFrequenze] FOREIGN KEY ([codFrequenza]) REFERENCES [dbo].[AnagFrequenze] ([codFrequenza]) ON UPDATE CASCADE, CONSTRAINT [FK_MtzProgrammata_AnagMacchine] FOREIGN KEY ([idxMacchina]) REFERENCES [dbo].[AnagMacchine] ([idxMacchina]) ON UPDATE CASCADE ); GO /********************************************************************************* * TRIGGER trg_updateMPPending * * eliminazione, in caso di update di un intervento di MtzProgrammata, * dei record di interventi "pending" predisposti... così saranno rigenerati corretti * **********************************************************************************/ CREATE TRIGGER trg_updateMPPending ON dbo.MtzProgrammata FOR UPDATE, DELETE AS BEGIN tran -- elimino interventi pending interessati... DELETE FROM MtzProgPending WHERE idxIntPro IN ( -- prendendo gli interventi mtzProgrammata modificati... SELECT DISTINCT idxIntPro FROM DELETED ) COMMIT tran