[ MS SQL.Trigger - 예제1 ]
1.
CREATE TRIGGER TRG_TBL_BL_DETAIL_INST ON TBL_BL_DETAIL
FOR INSERT AS
IF NOT UPDATE(BL_QTY) RETURN
DECLARE @tmp_qty DECIMAL(10),
@tmp_num DECIMAL(10)
SELECT @tmp_qty = 10;
SELECT @tmp_num = 20;
UPDATE TBL_OFFER_DETAIL
SET ALL_BL_QTY = ALL_BL_QTY + I.BL_QTY + @tmp_qty + @tmp_num
FROM TBL_OFFER_DETAIL A, INSERTED I
WHERE A.OFFER_NO = I.OFFER_NO
AND A.CODE_ITEM = I.CODE_ITEM
2.
CREATE TRIGGER TRG_TBL_BL_DETAIL_UPDT ON TBL_BL_DETAIL
FOR UPDATE AS
UPDATE TBL_OFFER_DETAIL
SET ALL_BL_QTY = ALL_BL_QTY - D.BL_QTY + I.BL_QTY
FROM TBL_OFFER_DETAIL A, INSERTED I, DELETED D
WHERE A.OFFER_NO = I.OFFER_NO
AND A.CODE_ITEM = I.CODE_ITEM
AND A.OFFER_NO = D.OFFER_NO
AND A.CODE_ITEM = D.CODE_ITEM
정의 :
- DELETED 와 INSERTED 라는 가상테이블과 물리적으로 존재 하는 테이블
간에 JOIN 으로 문장을 구성 할 수 있다.
-. IF NOT UPDATE(BL_QTY) RETURN : 이란 BL_QTY 수량이 변경이
되지 않았을 경우에는 RETURN 해라는 뜻.
즉, Trigger 를 더 이상 작동 하지 말라는 문장이다.
'(DB) MS SQL > Trigger' 카테고리의 다른 글
MS SQL.Trigger - 예제2 (0) | 2017.01.27 |
---|---|
MS SQL.Trigger - 종류 (0) | 2017.01.27 |
MS SQL.Trigger - 특징 (0) | 2017.01.27 |
MS SQL.Trigger - 해법 (0) | 2017.01.27 |
MS SQL.Trigger - 문법 (0) | 2017.01.27 |