오라클 테이블에 데이터 insert 하는데 트리거를 잘못 작성해서 데이터가 안 들어가졌네요.
insert 할때 exception 처리 다 했는데 리턴값이 안나와 데이터가 들어간 줄 알았습니다.
try
ADOConnection1.BeginTrans;
ExecSQL;
ADOConnection1.CommitTrans;
except
On E:Exception Do
begin
stxt := '입력실패 : ' + e.message;
ProcLog(stxt);
if self.ADOConnection1.InTransaction then
begin
ADOConnection1.RollbackTrans;
end;
end;
소스는 이렇게 했는데 에러 안 나고 넘어가거든요.
트리거가 정상일때는 상관없는데 트리거 처리시 에러발생하면 어떻게 알 수 있을까요?
트리커에서 예외를 발생시켰다면 except구문이 실행되어서 예외가 처리됩니다.
아마도 트리거를 잘못작성하신듯하네요...
트리거에서 RAISE_APPLICATION_ERROR함수를 이용해서 잘못된 데이터가 들어갔을때 예외를 일으키세요...
^^ 항상 즐코하세요...