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
운영게시판
최근게시물
DB2 Q&A 1039 게시물 읽기
No. 1039
db2 트리거에서 sp 호출
작성자
유종운(erebus)
작성일
2006-07-06 21:32
조회수
7,953

2004년도 초에도 db2 의 트리거에서 sp 호출이 안되서 고민 했는데

올해도 그 고민에 빠 봄윱求?

 

8 로 올라 오면서 sp 호출 방법이 있나요..?

프로시져에서 에러값 처리는 했는데..

 

이놈의 트리거가 ㅠ.ㅠ

 

유명한 고수님 이글을 읽어 주십시요..

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

It is possible to call a stored procedure from a trigger.

Following is my experience.

 

Caution :

-  A procedure must not include commits or rollbacks.

- After A trigger issues DML against a table, the procedure called from a trigger must not access same table.

- To make one transaction with trigger and stored procedure, trigger  should check SP's condition and raise exceptions in case of error.

From trigger
CALL WFS.CLIENT_LEVEL(N.CLI_COMPANY_CODE,N.CLI_NBR,O.CLI_NBR,N.CLI_PARENT_CLIENT_NBR,O.CLI_PARENT_CLIENT_NBR,TYPE,rst,rsc);

check rst or rsc to raise SQL exception
for exception , use "SIGNAL SQLSTATE '85101' (rst);"

From SP
set rst,rsc for SQLSTATE and SQLCODE

Example :

CREATE TRIGGER WFS.CLIENT_INSERT AFTER INSERT ON WFS.CLIENT
REFERENCING NEW AS n
FOR EACH ROW
BEGIN ATOMIC
DECLARE rst CHAR(5) DEFAULT '00000';
DECLARE rsc INTEGER DEFAULT 0;
CALL WFS.CLIENT_LEVEL(rst,rsc);
VALUES(CASE WHEN rsc < 0 THEN RAISE_ERROR('70001','PROC CALL failed') ELSE 'AAA' END);
END@

 

db2님이 2006-07-07 00:45에 작성한 댓글입니다. Edit

답변 주셔서 감사합니다.

 

근데 이건했던건데요   ㅠ.ㅠ

 

책이나 자료에 나와잇는건 거의 다 해봤고.

그래서 꽁수로 리턴값 처리는 해봣는데..

 

이상하게 트리거에서 sp 호출이 안되요..

 

서버장비때문에 그런가.?  아님 세팅이 잘못되서인가..?

as400 이란 장비 거든요...   튜닝 하면 된다고는 하는데.

 

똑같은 경우를 격어봐서러.. 쩝

 

 

ㅡ,.ㅡ님이 2006-07-10 21:52에 작성한 댓글입니다.
이 댓글은 2006-07-10 22:02에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1043TOAD 평가판 사용하시는분 실행이..
하늘
2006-07-07
7343
1041full backup 이미지에서 원하는 테이블 스페이스 복구 [1]
궁금
2006-07-07
6570
1040online 백업중 load 가능합니까? [1]
db2
2006-07-07
6945
1039db2 트리거에서 sp 호출 [2]
유종운
2006-07-06
7953
1038Large테이블 스페이스에 테이블 작성하는법 [1]
궁금이
2006-07-03
6850
1035AS400서버 디비 성능테스트 관련 ㅠ.ㅠ [1]
궁금이
2006-06-30
6984
1034clustering index 생성 쿼리문 [1]
최병석
2006-06-30
7186
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.023초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다