CREATE TABLE [dbo].[AnagMacchine] ( [idxMacchina] INT IDENTITY (1, 1) NOT NULL, [idxImpianto] INT NULL, [codMacchina] NVARCHAR (50) NULL, [nomeMacchina] NVARCHAR (250) NULL, [modello] NVARCHAR (250) NULL, [matricola] NVARCHAR (50) NULL, [anno] INT NULL, [kgPeso] FLOAT (53) CONSTRAINT [DF_AnagMacchine_kgPeso] DEFAULT ((0)) NOT NULL, [kwConsumo] FLOAT (53) CONSTRAINT [DF_AnagMacchine_kwConsumo] DEFAULT ((0)) NOT NULL, [funzDal] DATETIME NULL, [funzAl] DATETIME NULL, CONSTRAINT [PK_AnagMacchine] PRIMARY KEY CLUSTERED ([idxMacchina] ASC), CONSTRAINT [FK_AnagMacchine_AnagImpianti] FOREIGN KEY ([idxImpianto]) REFERENCES [dbo].[AnagImpianti] ([idxImpianto]) ON UPDATE CASCADE ); GO CREATE TRIGGER updateAssociazioneFamMacchine ON dbo.AnagMacchine FOR INSERT AS -- aggiungo le eventuali "macchine orfane" alla fam macchine di base (1 = TUTTE) INSERT INTO Macchine2FamMacchine(idxMacchina, idxFamMacchine) ( SELECT am.idxMacchina, 1 FROM anagMacchine am LEFT OUTER JOIN macchine2FamMacchine m2f ON am.idxMacchina=m2f.idxMacchina WHERE m2f.idxmacchina IS NULL )