/* Per evitare potenziali problemi di perdita di dati, si consiglia di esaminare dettagliatamente lo script prima di eseguirlo al di fuori del contesto di Progettazione database.*/
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
ALTER TABLE dbo.OligestGiacenzeProdotti
	DROP CONSTRAINT DF_OligestGiacenzeProdotti_GiacenzaOligest
GO
CREATE TABLE dbo.Tmp_OligestGiacenzeProdotti
	(
	IDUscitaOligest bigint NOT NULL,
	GiacenzaOligest decimal(18, 3) NOT NULL,
	DataInvioOligest datetime NULL
	)  ON [PRIMARY]
GO
ALTER TABLE dbo.Tmp_OligestGiacenzeProdotti SET (LOCK_ESCALATION = TABLE)
GO
ALTER TABLE dbo.Tmp_OligestGiacenzeProdotti ADD CONSTRAINT
	DF_OligestGiacenzeProdotti_GiacenzaOligest DEFAULT ((0)) FOR GiacenzaOligest
GO
IF EXISTS(SELECT * FROM dbo.OligestGiacenzeProdotti)
	 EXEC('INSERT INTO dbo.Tmp_OligestGiacenzeProdotti (IDUscitaOligest, GiacenzaOligest, DataInvioOligest)
		SELECT IDUscitaOligest, CONVERT(decimal(18, 3), GiacenzaOligest), DataInvioOligest FROM dbo.OligestGiacenzeProdotti WITH (HOLDLOCK TABLOCKX)')
GO
DROP TABLE dbo.OligestGiacenzeProdotti
GO
EXECUTE sp_rename N'dbo.Tmp_OligestGiacenzeProdotti', N'OligestGiacenzeProdotti', 'OBJECT' 
GO
ALTER TABLE dbo.OligestGiacenzeProdotti ADD CONSTRAINT
	PK_OligestGiacenzeProdotti PRIMARY KEY CLUSTERED 
	(
	IDUscitaOligest
	) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

GO
COMMIT
