도와드리죠
트리거에는 before트리거와 after트리거 두종류가 있습니다.
신형륜님께서는 after트리거를 쓰신것같네요....
요약하자면 after트리거는 A테이블의 변화에 따라 B테이블에 적용하는
트리거라 할수 있습니다.
before트리거는 A테이블의 변화를 A테이블에 적용시키는 트리거입니다.
예를 들어보죠
< AFTER Trigger >
CREATE OR REPLACE TRIGGER T_SF10_BBS_ART_LOG0
AFTER DELETE OR INSERT ON SF10_BBS_ART_LOG0 FOR EACH ROW
BEGIN
IF INSERTING THEN
INSERT INTO SF10_BBS_ART_LOG0_TR
( F_BOARD_ID, F_BOARD_TITLE,
F_DEPT_NAME, F_USER_ID,
F_USER_NAME, F_SEND_TIME)
VALUES ( :NEW.F_BOARD_ID, :NEW.F_BOARD_TITLE,
:NEW.F_DEPT_NAME, :NEW.F_USER_ID,
:NEW.F_USER_NAME, :NEW.F_SEND_TIME) ;
END IF;
END ;
< BEFORE Trigger >
CREATE OR REPLACE TRIGGER T_SF10_BBS_ART_LOG0
BEFORE DELETE OR INSERT ON SF10_BBS_ART_LOG0 FOR EACH ROW
이하생략........
조금이나마 도움이 되시길 좋은 하루 되세요......
::신형륜 님께서 쓰시길::
> 자료의 INSERT후 자신의 테이블을 다시 UPDATE하려 합니다.
> 그런데 트리거에 자신의 테이블의 자료를 조회하여 UPDATE를
> 하려하니까 테이블이 동작중이라는 에러가 나더군요.
> MS-SQL서버에서는 쉽게 되던것인데 오라클은 다른가 보군요.
> 저좀 도와주세여...
|