728x90
반응형
USE jwjung
GO
DROP TABLE T1;
GO
CREATE TABLE T1 (
제품번호 CHAR(5) NOT NULL
,입고일자 CHAR(8) NOT NULL
,입고수량 INT NULL
);
GO
ALTER TABLE T1 ADD CONSTRAINT t1_pk PRIMARY KEY (제품번호, 입고일자);
GO
DECLARE @제품번호 CHAR(5), @입고일자 CHAR(8), @입고수량 INT
SET @제품번호 = 'A0001'
SET @입고일자 = CONVERT(CHAR(8), GETDATE(), 112)
SET @입고수량 = 100
UPDATE T1
SET 입고수량 = 입고수량 + @입고수량
WHERE 제품번호 = @제품번호
AND 입고일자 = @입고일자
IF @@ROWCOUNT = 0
BEGIN
PRINT '제품번호 ''' + @제품번호 + '''은(는) 입고일자 ''' + @입고일자 + '''에 없음'
INSERT INTO T1 VALUES (@제품번호, @입고일자, @입고수량)
END
GO
--제품번호 'A0001'은(는) 입고일자 '20120210'에 없음
SELECT * FROM T1;
GO
DECLARE @제품번호 CHAR(5), @입고일자 CHAR(8), @입고수량 INT
SET @제품번호 = 'A0005'
SET @입고일자 = CONVERT(CHAR(8), GETDATE(), 112)
SET @입고수량 = 100
MERGE T1 a
USING (
SELECT @제품번호 as 제품번호
, @입고일자 as 입고일자
, @입고수량 as 입고수량
FROM T1
WHERE 제품번호 = 'A0003'
) b
ON a.제품번호 = b.제품번호
AND a.입고일자 = b.입고일자
WHEN matched THEN
UPDATE SET 입고수량 = a.입고수량 + b.입고수량
WHEN not matched THEN
INSERT (제품번호, 입고일자, 입고수량)
VALUES (b.제품번호, b.입고일자, b.입고수량)--;
OUTPUT $action, inserted.*, deleted.*;
GO
DROP TABLE T1;
GO
CREATE TABLE T1 (
제품번호 CHAR(5) NOT NULL
,입고일자 CHAR(8) NOT NULL
,입고수량 INT NULL
);
GO
ALTER TABLE T1 ADD CONSTRAINT t1_pk PRIMARY KEY (제품번호, 입고일자);
GO
DECLARE @제품번호 CHAR(5), @입고일자 CHAR(8), @입고수량 INT
SET @제품번호 = 'A0001'
SET @입고일자 = CONVERT(CHAR(8), GETDATE(), 112)
SET @입고수량 = 100
UPDATE T1
SET 입고수량 = 입고수량 + @입고수량
WHERE 제품번호 = @제품번호
AND 입고일자 = @입고일자
IF @@ROWCOUNT = 0
BEGIN
PRINT '제품번호 ''' + @제품번호 + '''은(는) 입고일자 ''' + @입고일자 + '''에 없음'
INSERT INTO T1 VALUES (@제품번호, @입고일자, @입고수량)
END
GO
--제품번호 'A0001'은(는) 입고일자 '20120210'에 없음
SELECT * FROM T1;
GO
DECLARE @제품번호 CHAR(5), @입고일자 CHAR(8), @입고수량 INT
SET @제품번호 = 'A0005'
SET @입고일자 = CONVERT(CHAR(8), GETDATE(), 112)
SET @입고수량 = 100
MERGE T1 a
USING (
SELECT @제품번호 as 제품번호
, @입고일자 as 입고일자
, @입고수량 as 입고수량
FROM T1
WHERE 제품번호 = 'A0003'
) b
ON a.제품번호 = b.제품번호
AND a.입고일자 = b.입고일자
WHEN matched THEN
UPDATE SET 입고수량 = a.입고수량 + b.입고수량
WHEN not matched THEN
INSERT (제품번호, 입고일자, 입고수량)
VALUES (b.제품번호, b.입고일자, b.입고수량)--;
OUTPUT $action, inserted.*, deleted.*;
728x90
반응형
'연구개발 > DBA' 카테고리의 다른 글
소규모 프로젝트를 위한 데이터베이스 모델링과 설계 (0) | 2012.02.12 |
---|---|
소규모 프로젝트를 위한 데이터베이스 모델링과 설계 1 (0) | 2012.02.12 |
SQL Server 인덱스 구성 전략(시리즈-4. 정렬되지 않은 파티션 인덱스) (0) | 2012.02.04 |
SQL Server 인덱스 구성 전략(시리즈-3. 정렬된 파티션 인덱스) (0) | 2012.02.04 |
SQL Server 인덱스 구성 전략(시리즈-2. 일반인덱스) (0) | 2012.02.04 |