[성현모] CPXV2, Log DB프로젝트, DB 컨텍스트 추가
This commit is contained in:
@ -0,0 +1,23 @@
|
||||
-- =============================================
|
||||
-- Author: <Author,,Name>
|
||||
-- Create date: <Create Date, ,>
|
||||
-- Description: <Description, ,>
|
||||
-- =============================================
|
||||
CREATE FUNCTION [dbo].[XConvertDateE]
|
||||
(
|
||||
-- Add the parameters for the function here
|
||||
@date AS VARCHAR(50)
|
||||
)
|
||||
RETURNS VARCHAR(50)
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @OutDate datetime2
|
||||
SET @OutDate = CASE WHEN CHARINDEX('PM',@date)>0 and CHARINDEX('PM 12',@date)<=0 THEN
|
||||
DATEADD(HH,12,CONVERT (DATETIME, REPLACE(@date,'PM','')))
|
||||
WHEN CHARINDEX('AM 12',@date)>0 THEN
|
||||
DATEADD(HH,-12,CONVERT (DATETIME, REPLACE(@date,'AM','')))
|
||||
ELSE CONVERT (DATETIME,REPLACE(REPLACE(@date,'AM',''),'PM','') )
|
||||
END
|
||||
RETURN @OutDate
|
||||
END
|
||||
GO
|
||||
@ -0,0 +1,25 @@
|
||||
-- =============================================
|
||||
-- Author: <Author,,Name>
|
||||
-- Create date: <Create Date, ,>
|
||||
-- Description: <Description, ,>
|
||||
-- =============================================
|
||||
CREATE FUNCTION [dbo].[XConvertDateK]
|
||||
(
|
||||
-- Add the parameters for the function here
|
||||
@date AS VARCHAR(50)
|
||||
)
|
||||
RETURNS VARCHAR(50)
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @OutDate datetime2
|
||||
SET @OutDate = CASE WHEN CHARINDEX('오후',@date)>0 and CHARINDEX('오후 12',@date)<=0 THEN
|
||||
DATEADD(HH,12,CONVERT (DATETIME, REPLACE(@date,'오후','')))
|
||||
WHEN CHARINDEX('오전 12',@date)>0 THEN
|
||||
DATEADD(HH,-12,CONVERT (DATETIME, REPLACE(@date,'오전','')))
|
||||
ELSE CONVERT (DATETIME,REPLACE(REPLACE(@date,'오전',''),'오후','') )
|
||||
END
|
||||
RETURN @OutDate
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
@ -0,0 +1,31 @@
|
||||
/*
|
||||
배포 후 스크립트 템플릿
|
||||
--------------------------------------------------------------------------------------
|
||||
이 파일에는 빌드 스크립트에 추가될 SQL 문이 있습니다.
|
||||
SQLCMD 구문을 사용하여 파일을 배포 후 스크립트에 포함합니다.
|
||||
예: :r .\myfile.sql
|
||||
SQLCMD 구문을 사용하여 배포 후 스크립트의 변수를 참조합니다.
|
||||
예: :setvar TableName MyTable
|
||||
SELECT * FROM [$(TableName)]
|
||||
--------------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
/*10회 루프*/
|
||||
DECLARE @CNT INT = 0;
|
||||
DECLARE @MAX_CNT INT = 10
|
||||
DECLARE @DBNAME varchar(50) = DB_NAME();
|
||||
|
||||
IF (@DBNAME LIKE '%short%')
|
||||
BEGIN
|
||||
WHILE(@CNT < @MAX_CNT)
|
||||
BEGIN
|
||||
|
||||
DECLARE @yyyy varchar(4) = CONVERT(CHAR(4), DATEADD(YEAR, @CNT, GETDATE()), 23)
|
||||
DECLARE @summary varchar(200) = N'HIST_LogSummary_'+@yyyy
|
||||
DECLARE @result varchar(200) = N'HIST_TestResult_'+@yyyy
|
||||
EXEC [dbo].[spCreateTableByName] @summary , @result
|
||||
|
||||
SET @CNT += 1
|
||||
END
|
||||
END
|
||||
GO
|
||||
@ -0,0 +1,78 @@
|
||||
CREATE PROCEDURE [dbo].[spCreateTableByName]
|
||||
@logSummaryTableName nvarchar(200),
|
||||
@logResultTableName nvarchar(200)
|
||||
AS
|
||||
IF NOT EXISTS(SELECT * FROM sys.tables WHERE NAME = @logSummaryTableName)
|
||||
BEGIN
|
||||
DECLARE @summaryQuery nvarchar(4000)= N'
|
||||
CREATE TABLE [dbo].['+@logSummaryTableName+'](
|
||||
[No] [bigint] IDENTITY(0,1) NOT NULL,
|
||||
[StationName] [nvarchar](128) NULL,
|
||||
[TestType] [nvarchar](8) NOT NULL,
|
||||
[Version] [nvarchar](4) NOT NULL,
|
||||
[ProdCode] [nvarchar](4) NOT NULL,
|
||||
[TestListFileNo] [int] NULL,
|
||||
[TestListVariantNo] [int] NULL,
|
||||
[TestListCntID] [nvarchar](256) NULL,
|
||||
[StepVersion] [int] NULL,
|
||||
[HostID] [nvarchar](64) NOT NULL,
|
||||
[Section] [nvarchar](64) NOT NULL,
|
||||
[ProdNo_C] [nvarchar](32) NOT NULL,
|
||||
[ProdNo_P] [nvarchar](32) NOT NULL,
|
||||
[Testcode] [nvarchar](16) NOT NULL,
|
||||
[TestListFileName] [nvarchar](256) NOT NULL,
|
||||
[ProductID] [nvarchar](64) NOT NULL,
|
||||
[Result] [nvarchar](16) NOT NULL,
|
||||
[Duration] [nvarchar](16) NOT NULL,
|
||||
[TestDT] [datetime2](7) NOT NULL,
|
||||
CONSTRAINT [PK_'+@logSummaryTableName+'] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[No] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY],
|
||||
UNIQUE NONCLUSTERED
|
||||
(
|
||||
[No] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
|
||||
ALTER TABLE [dbo].['+@logSummaryTableName+'] ADD DEFAULT (''-'') FOR [StationName]
|
||||
|
||||
ALTER TABLE [dbo].['+@logSummaryTableName+'] ADD DEFAULT ((-1)) FOR [TestListFileNo]
|
||||
|
||||
ALTER TABLE [dbo].['+@logSummaryTableName+'] ADD DEFAULT ((-1)) FOR [TestListVariantNo]
|
||||
|
||||
ALTER TABLE [dbo].['+@logSummaryTableName+'] ADD DEFAULT ((-1)) FOR [StepVersion]
|
||||
|
||||
ALTER TABLE [dbo].['+@logSummaryTableName+'] ADD DEFAULT (getdate()) FOR [TestDT]
|
||||
|
||||
CREATE INDEX ['+@logSummaryTableName+'_2] ON '+@logSummaryTableName+' (TestDT, No);
|
||||
|
||||
CREATE INDEX ['+@logSummaryTableName+'_3] ON '+@logSummaryTableName+' (TestDT);
|
||||
';
|
||||
|
||||
EXEC(@summaryQuery)
|
||||
END
|
||||
|
||||
|
||||
IF NOT EXISTS(SELECT * FROM sys.tables WHERE NAME = @logResultTableName)
|
||||
BEGIN
|
||||
DECLARE @resultQuery nvarchar(4000)= N'
|
||||
CREATE TABLE [dbo].['+@logResultTableName+'](
|
||||
[No] [bigint] NOT NULL,
|
||||
[TestDT] [datetime2](7) NULL,
|
||||
[LogData] [nvarchar](max) NOT NULL,
|
||||
CONSTRAINT [PK_'+@logResultTableName+'] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[No] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
||||
|
||||
ALTER TABLE [dbo].['+@logResultTableName+'] ADD DEFAULT (getdate()) FOR [TestDT]
|
||||
|
||||
CREATE INDEX ['+@logResultTableName+'_2] ON '+@logResultTableName+' (TestDT, No);
|
||||
|
||||
CREATE INDEX ['+@logResultTableName+'_3] ON '+@logResultTableName+' (TestDT);
|
||||
';
|
||||
EXEC(@resultQuery)
|
||||
END
|
||||
RETURN 0
|
||||
@ -0,0 +1,37 @@
|
||||
CREATE PROCEDURE [dbo].[spCreateTableMonth]
|
||||
|
||||
AS
|
||||
--현재 월 HIST_TestResult 테이블 생성
|
||||
DECLARE @current_yymm varchar(4) = CONVERT(CHAR(4), GETDATE(), 12)
|
||||
|
||||
DECLARE @current_summaryTableName varchar(40) = N'HIST_LogSummary_'+@current_yymm
|
||||
DECLARE @current_summary_query varchar(200) = N' SELECT * INTO ' + @current_summaryTableName + N' FROM HIST_LogSummary'
|
||||
IF NOT EXISTS(SELECT * FROM sys.tables WHERE NAME = @current_summaryTableName)
|
||||
BEGIN
|
||||
EXEC(@current_summary_query)
|
||||
END
|
||||
|
||||
DECLARE @current_resultTableName varchar(40) = N'HIST_TestResult_'+@current_yymm
|
||||
DECLARE @current_result_query varchar(200) = N' SELECT * INTO ' + @current_resultTableName + N' FROM HIST_TestResult'
|
||||
IF NOT EXISTS(SELECT * FROM sys.tables WHERE NAME = @current_resultTableName)
|
||||
BEGIN
|
||||
EXEC(@current_result_query)
|
||||
END
|
||||
|
||||
--다음 월 HIST_TestResult 테이블 생성
|
||||
DECLARE @next_yymm varchar(4) = CONVERT(CHAR(4), DATEADD(MONTH, 1, GETDATE()), 12)
|
||||
|
||||
DECLARE @next_summaryTableName varchar(40) = N'HIST_LogSummary_'+@next_yymm
|
||||
DECLARE @next_summary_query varchar(200) = N' SELECT * INTO ' + @next_summaryTableName + N' FROM HIST_LogSummary'
|
||||
IF NOT EXISTS(SELECT * FROM sys.tables WHERE NAME = @next_summaryTableName)
|
||||
BEGIN
|
||||
EXEC(@next_summary_query)
|
||||
END
|
||||
|
||||
DECLARE @next_resultTableName varchar(40) = N'HIST_TestResult_'+@next_yymm
|
||||
DECLARE @next_result_query varchar(200) = N' SELECT * INTO ' + @next_resultTableName + N' FROM HIST_TestResult'
|
||||
IF NOT EXISTS(SELECT * FROM sys.tables WHERE NAME = @next_resultTableName)
|
||||
BEGIN
|
||||
EXEC(@next_result_query)
|
||||
END
|
||||
RETURN 0
|
||||
@ -0,0 +1,51 @@
|
||||
CREATE TABLE [dbo].[HIST_LogSummary](
|
||||
[No] [bigint] IDENTITY(0,1) NOT NULL,
|
||||
[StationName] [nvarchar](128) NULL,
|
||||
[TestType] [nvarchar](8) NOT NULL,
|
||||
[Version] [nvarchar](4) NOT NULL,
|
||||
[ProdCode] [nvarchar](4) NOT NULL,
|
||||
[TestListFileNo] [int] NULL,
|
||||
[TestListVariantNo] [int] NULL,
|
||||
[TestListCntID] [nvarchar](256) NULL,
|
||||
[StepVersion] [int] NULL,
|
||||
[HostID] [nvarchar](64) NOT NULL,
|
||||
[Section] [nvarchar](64) NOT NULL,
|
||||
[ProdNo_C] [nvarchar](32) NOT NULL,
|
||||
[ProdNo_P] [nvarchar](32) NOT NULL,
|
||||
[Testcode] [nvarchar](16) NOT NULL,
|
||||
[TestListFileName] [nvarchar](256) NOT NULL,
|
||||
[ProductID] [nvarchar](64) NOT NULL,
|
||||
[Result] [nvarchar](16) NOT NULL,
|
||||
[Duration] [nvarchar](16) NOT NULL,
|
||||
[TestDT] [datetime2](7) NOT NULL,
|
||||
UNIQUE NONCLUSTERED
|
||||
(
|
||||
[No] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY],
|
||||
CONSTRAINT [PK_HIST_LogSummary] PRIMARY KEY ([No])
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[HIST_LogSummary] ADD DEFAULT ('-') FOR [StationName]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[HIST_LogSummary] ADD DEFAULT ((-1)) FOR [TestListFileNo]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[HIST_LogSummary] ADD DEFAULT ((-1)) FOR [TestListVariantNo]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[HIST_LogSummary] ADD DEFAULT ((-1)) FOR [StepVersion]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[HIST_LogSummary] ADD DEFAULT (getdate()) FOR [TestDT]
|
||||
GO
|
||||
|
||||
CREATE INDEX [HIST_LogSummary_2] ON HIST_LogSummary (TestDT, No);
|
||||
GO
|
||||
|
||||
CREATE INDEX [HIST_LogSummary_3] ON HIST_LogSummary (TestDT);
|
||||
GO
|
||||
@ -0,0 +1,19 @@
|
||||
CREATE TABLE [dbo].[HIST_TestResult](
|
||||
[No] [bigint] NOT NULL,
|
||||
[TestDT] [datetime2](7) NULL,
|
||||
[LogData] [nvarchar](MAX) NOT NULL,
|
||||
CONSTRAINT [PK_HIST_TestResult] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[No] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[HIST_TestResult] ADD DEFAULT (getdate()) FOR [TestDT]
|
||||
GO
|
||||
|
||||
CREATE INDEX [HIST_TestResult_2] ON HIST_TestResult (TestDT, No);
|
||||
GO
|
||||
|
||||
CREATE INDEX [HIST_TestResult_3] ON HIST_TestResult (TestDT);
|
||||
GO
|
||||
Reference in New Issue
Block a user