﻿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
)
