728x90
반응형

프로시져 MYPROCEDURE() 은 SQL PLUS 에서

>EXEC MYPROCEDURE('A','B',100); 로 잘 실행됩니다.

그런데

Trigger 에서,

 

BEGIN
 IF(:NEW.VALUE IS NOT NULL) THEN
  EXECUTE IMMEDIATE MYPROCEDURE(:NEW.ID,:NEW.USERID,:NEW.VALUE);
 END IF;
END;
 

라고 하고 compile 하니 아래와 같은 에러가 뜹니다.

 

Line # = 3 Column # = 21 Error Text = PLS-00222: 'MYPROCEDURE'¿¿ ¿¿¿ ¿¿¿ ¿¿ ¿¿ ¿¿¿¿ ¿¿¿¿
Line # = 3 Column # = 3 Error Text = PL/SQL: Statement ignored


에러문자가 이상하게 나오지만 MYPROCEDURE 를 인식하지 못하는 것 같습니다.

augument 들의 type은 정확하게 맞췄습니다.

 

좀 도와 주십시오.

사용자는 owner 이고 create any tirgger, execute any procedure 등 권한은 직접 주었습니다.

/* 답변 */
프로시져를 실행하는
EXECUTE IMMEDIATE 를 사용하지말고

그냥  MYPROCEDURE(:NEW.ID,:NEW.USERID,:NEW.VALUE);

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,