리크 테스트 gui
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

83 lines
3.2 KiB

-- ============================================================================
-- Project: NE1aW 온압센서
-- Document: dbo.EOL Table Schema (Simplified Version)
-- Author: Antigravity AI
-- Date: 2026-05-28
-- Description: 사용자 요구사항(ID, 좌/우, SPEC UL, SPEC LL, 누설값, 판정)에 맞추어 단순화된 스키마.
-- 재검사 이력 추적을 위해 Seq(PK) 및 InspectDateTime(일시) 컬럼 추가.
-- ============================================================================
-- 1. 데이터베이스 존재 여부 확인 및 자동 생성
IF NOT EXISTS (SELECT * FROM sys.databases WHERE name = 'NE1aW_PT_SENSOR')
BEGIN
CREATE DATABASE [NE1aW_PT_SENSOR];
PRINT 'Database [NE1aW_PT_SENSOR] created successfully.';
END
GO
USE [NE1aW_PT_SENSOR];
GO
-- 2. 기존 테이블이 존재할 경우 삭제
IF OBJECT_ID('dbo.EOL', 'U') IS NOT NULL
BEGIN
DROP TABLE dbo.EOL;
PRINT 'Existing [dbo].[EOL] table dropped.';
END
GO
-- 3. 단순화된 테이블 생성
CREATE TABLE [dbo].[EOL] (
[InspectDate] NVARCHAR(10) NOT NULL, -- 검사 날짜 (YYYY-MM-DD)
[InspectTime] NVARCHAR(8) NOT NULL, -- 검사 시간 (HH:MM:SS)
[ID] NVARCHAR(30) NOT NULL, -- 센서 ID (ProductId) (기본키)
[Channel] NVARCHAR(10) NOT NULL, -- 좌 / 우 (LEFT / RIGHT)
[SpecUL] NVARCHAR(10) NOT NULL, -- SPEC UL
[SpecLL] NVARCHAR(10) NOT NULL, -- SPEC LL
[LeakValue] NVARCHAR(20) NOT NULL, -- 누설 측정값 (MeasuredValue)
[Result] NVARCHAR(5) NOT NULL, -- 판정 결과 (OK / NG)
CONSTRAINT [PK_EOL_ID] PRIMARY KEY CLUSTERED ([ID] ASC)
);
GO
PRINT 'Table [dbo].[EOL] created successfully with simplified columns and ID as Primary Key.';
GO
-- ============================================================================
-- [부록] 테스트 시나리오 SQL 예시 (단순화 버전)
-- ============================================================================
/*
-- 1. 테스트용 기본 데이터 INSERT (정상 삽입)
INSERT INTO [dbo].[EOL] (
[InspectDate], [InspectTime], [ID], [Channel], [SpecUL], [SpecLL], [LeakValue], [Result]
)
VALUES (
'2026-06-02', '14:48:51', 'IC_SIMPLE_0001', 'LEFT', '1.00', '-1.00', '0.125', 'OK'
);
-- 데이터 확인
SELECT * FROM [dbo].[EOL];
-- 2. 동일 ID 재검사 시 MERGE 문을 이용한 UPSERT 테스트 (정상 업데이트 확인)
-- 예상 결과: 기존 'IC_SIMPLE_0001' 레코드의 LeakValue가 '0.098'로 업데이트됨
MERGE INTO [dbo].[EOL] AS Target
USING (SELECT 'IC_SIMPLE_0001' AS ID) AS Source
ON (Target.ID = Source.ID)
WHEN MATCHED THEN
UPDATE SET
Target.Channel = 'LEFT',
Target.SpecUL = '1.00',
Target.SpecLL = '-1.00',
Target.LeakValue = '0.098', -- 업데이트될 새 값
Target.Result = 'OK',
Target.InspectDate = '2026-06-02',
Target.InspectTime = '14:48:00'
WHEN NOT MATCHED THEN
INSERT ([ID], [Channel], [SpecUL], [SpecLL], [LeakValue], [Result], [InspectDate], [InspectTime])
VALUES ('IC_SIMPLE_0001', 'LEFT', '1.00', '-1.00', '0.098', 'OK', '2026-06-02', '14:48:00');
-- 데이터 확인 (값 업데이트 확인)
SELECT * FROM [dbo].[EOL];
*/