아래 쿼리가 정상적으로 작동은 되고 있으나, 보기좋고 좀더 간편하게 정리 부탁드리겠습니다 ㅜㅜ
쿼리 설명 : T_IF_SND_PUR_REQ_KO441 테이블의 APPROVE_STATUS가 1,7,8일때 M_PUR_REQ 테이블에서 삭제 불가
CREATE TRIGGER [dbo].[M_PUR_REQ_DEL] ON [dbo].[M_PUR_REQ]
FOR DELETE AS
DELETE T_IF_SND_PUR_REQ_KO441
FROM DELETED, T_IF_SND_PUR_REQ_KO441
WHERE T_IF_SND_PUR_REQ_KO441.PR_NO = DELETED.PR_NO AND
T_IF_SND_PUR_REQ_KO441.PLANT_CD = DELETED.PLANT_CD AND
T_IF_SND_PUR_REQ_KO441.ITEM_CD = DELETED.ITEM_CD
IF EXISTS
(SELECT 1
FROM deleted ,T_IF_SND_PUR_REQ_KO441
WHERE T_IF_SND_PUR_REQ_KO441.APPROVE_STATUS='1'
or T_IF_SND_PUR_REQ_KO441.APPROVE_STATUS='7'
or T_IF_SND_PUR_REQ_KO441.APPROVE_STATUS='8')
BEGIN
PRINT '이미 진행중인 요청건이 있어 삭제가 불가능합니다. '
ROLLBACK TRANSACTION
END
|