117 lines
3.2 KiB
Transact-SQL
117 lines
3.2 KiB
Transact-SQL
/*
|
|
CPMeta의 배포 스크립트
|
|
|
|
이 코드는 도구를 사용하여 생성되었습니다.
|
|
이 파일을 변경하면 잘못된 동작이 발생할 수 있으며 코드가 다시 생성되면
|
|
이러한 변경 내용이 손실됩니다.
|
|
*/
|
|
|
|
GO
|
|
SET ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER ON;
|
|
|
|
SET NUMERIC_ROUNDABORT OFF;
|
|
|
|
|
|
GO
|
|
/*
|
|
:setvar DatabaseName "CPMeta"
|
|
:setvar DefaultFilePrefix "CPMeta"
|
|
:setvar DefaultDataPath "D:\20_MSSQL\DATA\"
|
|
:setvar DefaultLogPath "D:\20_MSSQL\DATA\"
|
|
*/
|
|
|
|
GO
|
|
:on error exit
|
|
GO
|
|
/*
|
|
SQLCMD 모드를 검색하고 SQLCMD 모드가 지원되지 않는 경우 스크립트 실행을 사용하지 않도록 설정합니다.
|
|
SQLCMD 모드를 사용하도록 설정한 후 스크립트를 다시 사용하도록 설정하려면 다음을 실행합니다.
|
|
NOEXEC를 끕니다.
|
|
*/
|
|
:setvar __IsSqlCmdEnabled "True"
|
|
GO
|
|
IF N'$(__IsSqlCmdEnabled)' NOT LIKE N'True'
|
|
BEGIN
|
|
PRINT N'이 스크립트를 실행하려면 SQLCMD 모드를 사용하도록 설정해야 합니다.';
|
|
SET NOEXEC ON;
|
|
END
|
|
|
|
|
|
GO
|
|
USE [$(DatabaseName)];
|
|
|
|
|
|
GO
|
|
/*
|
|
[dbo].[tWbms].[cMacAddress] 열이 삭제되므로 데이터 손실이 발생할 수 있습니다.
|
|
*/
|
|
|
|
IF EXISTS (select top 1 1 from [dbo].[tWbms])
|
|
RAISERROR (N'행이 발견되었습니다. 데이터가 손실될 수 있으므로 스키마 업데이트가 종료됩니다.', 16, 127) WITH NOWAIT
|
|
|
|
GO
|
|
PRINT N'UNIQUE 제약 조건 [dbo].[UQ_cMacAddress]을(를) 삭제하는 중...';
|
|
|
|
|
|
GO
|
|
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
|
|
PRINT N'업데이트가 완료되었습니다.';
|
|
|
|
|
|
GO
|