트리거에서 프로시저 호출? 0 1 1,018

by 도리비 [PL/SQL] 트리거 쿼리 [2019.05.22 13:58:19]


트리거에서 프로시저 호출 못하나요?

Dynamic SQL 은 트리거에서 못하는걸로 알고 있어서

sp쪽에서 case로 특정 값을 확인해서 테이블을 따로 구분해서 넣으려고 하는데... 동작을 안하네요..;

---- 내용 추가

단순히 프로시저를 호출할 경우엔 동적쿼리가 되는데 Stack Overflow에서 관련된 글을 찾아보니 '트리거에서의 프로시저 호출은 동적SQL이 있는 경우엔 동작하지 않는다' 라고 되어 있는걸 봤습니다...

그럼 트리거 또는 프로시저에서 테이블 마다 구분(varchar) 해서 사용은 전혀 못하는건가요?

 

 

 

by 도리비 [2019.05.22 14:16:01]

자답입니다.

2006년 글이긴 하나, MySQL 공식 답변으로

트리거 내 동적SQL은 지원하지 않고 마찬가지로 프로시저 내 동적SQL이 있다면 동작하지 않는걸로 확인하였습니다.

차라리 테이블에 특정 컬럼을 추가하여 구분하는걸로 디자인하라는 제안이 있었습니다.

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입