database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
ㆍInformix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Informix Q&A 1881 게시물 읽기
No. 1881
트리거에서 before, after, for each row의 차이점?
작성자
궁금이
작성일
2003-12-17 11:52
조회수
5,996

트리거를 사용하려고 하는데

트리거 액션에서 정의해주는

before, after, for each row의 차이점을

자세하게 알려주십시오...

예제를 들어주시면 감사...^^

이 글에 대한 댓글이 총 3건 있습니다.

* 트리거 선언

create trigger test1 update on orders
before (execute procedure check_permission())
for each row (execute procedure log_chg())
after (execute procedure log_total());


* 예상 쿼리. 

update orders
set ship_instruct = “express”
where customer_num = 106;

 

*DB Data 106인 자료가 2개 있다면..
 

*Action
execute check_permission
update 1 row
execute log_chg
update 1 row
execute log_chg
execute log_total

 

*출처:INFORMIX_User_Guide

장시용님이 2003-12-18 10:09에 작성한 댓글입니다. Edit

감사합니다.

올려주신 내용 잘 보았습니다.

그런데 제가 이해력이 쫌 부족한 관계로

잘 이해가 안가네요

죄송한데 말로 풀어서 설명해 주시면 안될까요

아주 자세히 알기쉽게...^^

궁금이님이 2003-12-18 14:26에 작성한 댓글입니다. Edit

* 트리거 선언

create trigger test1 update on orders
before (execute procedure check_permission())
for each row (execute procedure log_chg())
after (execute procedure log_total());

==> 선언이죠.. check_permission(), procedure log_chg(),procedure log_total() 는 있다구 치구요 예를 들면 그렇다는거죠.. before/after/for each 일때마다 다르게 처리할수 있다는.. orders 테이블도 있어야겠죠?


* 예상 쿼리. 

update orders
set ship_instruct = “express”
where customer_num = 106;

==>> 일반적인 예입니다. 위에 트리거가 걸려있는상태에서 App에서 이렇게 처리를 하면...

 

*DB Data 106인 자료가 2개 있다면..

==>> customer_num = 106인자료가 2 row 가 있다면...
 

*Action
execute check_permission
update 1 row
execute log_chg
update 1 row
execute log_chg
execute log_total

==>> check_permission() 를 먼저 실행하고..
update 1 row 
log_chg() 수행
update 1 row 
log_chg() 수행
log_total() 를 수행...

 

더 쉽게 설명은 못하겠네요..

 

짱이만세님이 2003-12-23 15:36에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1884dynamic server 2000 을 connect 할수 없데요..워째요.. [1]
엉엉엉
2003-12-18
4121
1883oninit는 되는데 다이나믹서버 커넥트가 안되는데..어찌된일인가요 [1]
쌩아다
2003-12-18
4803
1882online.log에 이런것들이 쌓입니다. 어떤거죠? [1]
신용준
2003-12-17
4749
1881트리거에서 before, after, for each row의 차이점? [3]
궁금이
2003-12-17
5996
1879oninit시 이런 에러가 나는데 어케했으면... ... [4]
왕초보
2003-12-16
5577
1878윈엑스피에서 인포믹스 깔고 난후 초기화 할때 문제인데요... [1]
강한구
2003-12-14
5643
1877성능이 갑자기 많이 떨어졌는데..... [1]
골뱅이
2003-12-11
5610
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다