[성현모] CPMeta 기능 구현 완료
This commit is contained in:
@ -248,14 +248,16 @@ PRINT N'테이블 [dbo].[tWbms]을(를) 만드는 중...';
|
||||
|
||||
GO
|
||||
CREATE TABLE [dbo].[tWbms] (
|
||||
[cProductID] NVARCHAR (50) NOT NULL,
|
||||
[cMacAddress] NVARCHAR (50) NULL,
|
||||
[cType] NVARCHAR (20) NULL,
|
||||
[cProductNo] NVARCHAR (50) NULL,
|
||||
[cSpareValue] NVARCHAR (200) NULL,
|
||||
[cDateTime] DATETIME2 (7) NOT NULL,
|
||||
[cProductID] NVARCHAR (50) NOT NULL,
|
||||
[cMacAddress1] NVARCHAR (50) NULL,
|
||||
[cMacAddress2] NVARCHAR (50) NULL,
|
||||
[cType] NVARCHAR (20) NULL,
|
||||
[cProductNo] NVARCHAR (50) NULL,
|
||||
[cSpareValue] NVARCHAR (200) NULL,
|
||||
[cDateTime] DATETIME2 (7) NOT NULL,
|
||||
CONSTRAINT [PK_cProductKey] PRIMARY KEY CLUSTERED ([cProductID] ASC),
|
||||
CONSTRAINT [UQ_cMacAddress] UNIQUE NONCLUSTERED ([cMacAddress] ASC)
|
||||
CONSTRAINT [UQ_cMacAddress1] UNIQUE NONCLUSTERED ([cMacAddress1] ASC),
|
||||
CONSTRAINT [UQ_cMacAddress2] UNIQUE NONCLUSTERED ([cMacAddress2] ASC)
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -43,19 +43,70 @@ USE [$(DatabaseName)];
|
||||
|
||||
GO
|
||||
/*
|
||||
테이블 [dbo].[tWbmsMeta]의 열 [[dbo].[tWbmsMeta].[ctest]]을(를) 추가해야 하지만 해당 열에 기본값이 없으며 NULL 값을 허용하지 않습니다. 테이블에 데이터가 있으면 ALTER 스크립트가 실행되지 않습니다. 이러한 문제를 방지하려면 열에 기본값을 추가 및 해당 열을 NULL 값을 허용하도록 표시하거나 스마트 기본값을 배포 옵션으로서 생성할 수 있도록 하십시오.
|
||||
[dbo].[tWbms].[cMacAddress] 열이 삭제되므로 데이터 손실이 발생할 수 있습니다.
|
||||
*/
|
||||
|
||||
IF EXISTS (select top 1 1 from [dbo].[tWbmsMeta])
|
||||
IF EXISTS (select top 1 1 from [dbo].[tWbms])
|
||||
RAISERROR (N'행이 발견되었습니다. 데이터가 손실될 수 있으므로 스키마 업데이트가 종료됩니다.', 16, 127) WITH NOWAIT
|
||||
|
||||
GO
|
||||
PRINT N'테이블 [dbo].[tWbmsMeta]을(를) 변경하는 중...';
|
||||
PRINT N'UNIQUE 제약 조건 [dbo].[UQ_cMacAddress]을(를) 삭제하는 중...';
|
||||
|
||||
|
||||
GO
|
||||
ALTER TABLE [dbo].[tWbmsMeta]
|
||||
ADD [ctest] DATETIME2 (7) NOT NULL;
|
||||
ALTER TABLE [dbo].[tWbms] DROP CONSTRAINT [UQ_cMacAddress];
|
||||
|
||||
|
||||
GO
|
||||
PRINT N'[dbo].[tWbms] 테이블 다시 빌드 시작...';
|
||||
|
||||
|
||||
GO
|
||||
BEGIN TRANSACTION;
|
||||
|
||||
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
|
||||
|
||||
SET XACT_ABORT ON;
|
||||
|
||||
CREATE TABLE [dbo].[tmp_ms_xx_tWbms] (
|
||||
[cProductID] NVARCHAR (50) NOT NULL,
|
||||
[cMacAddress1] NVARCHAR (50) NULL,
|
||||
[cMacAddress2] NVARCHAR (50) NULL,
|
||||
[cType] NVARCHAR (20) NULL,
|
||||
[cProductNo] NVARCHAR (50) NULL,
|
||||
[cSpareValue] NVARCHAR (200) NULL,
|
||||
[cDateTime] DATETIME2 (7) NOT NULL,
|
||||
CONSTRAINT [tmp_ms_xx_constraint_PK_cProductKey1] PRIMARY KEY CLUSTERED ([cProductID] ASC),
|
||||
CONSTRAINT [tmp_ms_xx_constraint_UQ_cMacAddress11] UNIQUE NONCLUSTERED ([cMacAddress1] ASC),
|
||||
CONSTRAINT [tmp_ms_xx_constraint_UQ_cMacAddress21] UNIQUE NONCLUSTERED ([cMacAddress2] ASC)
|
||||
);
|
||||
|
||||
IF EXISTS (SELECT TOP 1 1
|
||||
FROM [dbo].[tWbms])
|
||||
BEGIN
|
||||
INSERT INTO [dbo].[tmp_ms_xx_tWbms] ([cProductID], [cType], [cProductNo], [cSpareValue], [cDateTime])
|
||||
SELECT [cProductID],
|
||||
[cType],
|
||||
[cProductNo],
|
||||
[cSpareValue],
|
||||
[cDateTime]
|
||||
FROM [dbo].[tWbms]
|
||||
ORDER BY [cProductID] ASC;
|
||||
END
|
||||
|
||||
DROP TABLE [dbo].[tWbms];
|
||||
|
||||
EXECUTE sp_rename N'[dbo].[tmp_ms_xx_tWbms]', N'tWbms';
|
||||
|
||||
EXECUTE sp_rename N'[dbo].[tmp_ms_xx_constraint_PK_cProductKey1]', N'PK_cProductKey', N'OBJECT';
|
||||
|
||||
EXECUTE sp_rename N'[dbo].[tmp_ms_xx_constraint_UQ_cMacAddress11]', N'UQ_cMacAddress1', N'OBJECT';
|
||||
|
||||
EXECUTE sp_rename N'[dbo].[tmp_ms_xx_constraint_UQ_cMacAddress21]', N'UQ_cMacAddress2', N'OBJECT';
|
||||
|
||||
COMMIT TRANSACTION;
|
||||
|
||||
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
||||
|
||||
|
||||
GO
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user