set xact_abort on go begin transaction go create table TempiCicloRilevati( IdxMacchina nvarchar(50) not null, DataOraRif datetime not null, TempoMedio decimal(18,8) not null constraint DF_TempiCicloRilevati_TempoMedio default (1), PzProd int not null constraint DF_TempiCicloRilevati_PzProd default (1), constraint PK_TempiCicloRilevati primary key(IdxMacchina,DataOraRif) ) go alter table TempiCicloRilevati add constraint FK_TempiCicloRilevati_Macchine foreign key(IdxMacchina) references Macchine(IdxMacchina) on update cascade go create table TempiCicloTeorici( IdxMacchina nvarchar(50) not null, DataOraFrom datetime not null, DataOraTo datetime, TempoAssegnato decimal(18,8) not null constraint DF_TempiCicloTeorici_TempoMedio default (1), constraint PK_TempiCicloTeorici primary key(IdxMacchina,DataOraFrom) ) go alter table TempiCicloTeorici add constraint FK_TempiCicloTeorici_Macchine foreign key(IdxMacchina) references Macchine(IdxMacchina) on update cascade go commit go -- registro versione... INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(15, GETDATE()) GO