2010-01-28 4 views
0

실체화 된보기에서 새로 고침을 실행하려고 시도 중이지만 컴파일 할 스크립트를 가져올 수 없습니다.오라클 새로 고침 구체화 된보기 - 컴파일 오류

ORA-06550 :

CREATE OR REPLACE PROCEDURE REFRESH_MV AS 
BEGIN 
    exec DBMS_MVIEW.REFRESH('my_mat_view_mv','C'); 
END REFRESH_MV; 

나는 메시지를 받게 라인 3 열 9 : PLS-00103 :가 발생했습니다 기호 "DBMS_MVIEW"다음 중 하나를 예상 :

: =. (% @; 즉시 기호 "="계속 "DBMS_MVIEW"에 대한 교체되어 나올

내가 뭔가 잘못하고 있는가 아무것도 가져올 필요

업데이트

CREATE OR REPLACE PROCEDURE REFRESH_MV AS 
BEGIN 
    EXECUTE DBMS_MVIEW.REFRESH('my_mat_view_mv','C'); 
END REFRESH_MV; 
를.? 기대

(S1917), (;
IMMEDIATE

012 @
CREATE OR REPLACE PROCEDURE REFRESH_MV AS 
BEGIN 
    EXECUTE IMMEDIATE DBMS_MVIEW.REFRESH('my_mat_view_mv','C'); 
END REFRESH_MV; 

Warning: compiled but with compilation errors 

이것은 Oracle 10g XE입니다. 아무 문제 없습니다.

미리 감사드립니다.

+0

확실한 그 어리석은 실수 중 하나. – Tom

+0

'EXEC DBMS_MVIEW ... '대신'EXECUTE DBMS_MVIEW ...'를 시도하십시오 –

+0

아니요, 아직 컴파일하지 않습니다 : ( – Tom

답변

10

"exec"를 제거하면 더 잘 작동한다고 생각합니다. "exec"는 SQL * Plus 명령입니다. IOW, 시도 :

CREATE OR REPLACE PROCEDURE REFRESH_MV AS 
BEGIN 
    DBMS_MVIEW.REFRESH('my_mat_view_mv','C'); 
END REFRESH_MV; 
+1

네, 고쳐 주셨습니다. 고마워요. – Tom