PL/SQL 동적 SQL 문의 드립니다. 0 2 2,484

by 제로 [2015.10.21 16:26:49]


안녕하세요.

PL/SQL 상에서 동적 SQL문 문의 드립니다.

V_SQL := 'EXEC DBMS_MVIEW.REFRESH('''||I.OWNER||'.'||I.TABLE_NAME||''', ''C'') ' ;

EXEC IMMEDIATE V_SQL;

위와 같이 작성했는데요.. 컴파일할때는 정상적으로 잘 생성됩니다.

근데...이 PL/SQL을 실행할때 에러가 발생하는데요...

ERROR at line 1:
ORA-00900: invalid SQL statement
ORA-06512: at "SYS.PRO_TEST line 22
ORA-06512: at line 1

해결을 어떻게 해야 하는건지요?

 


 

by atumlee [2015.10.22 13:38:49]
BEGIN
    FOR R IN (SELECT * FROM ALL_MVIEWS) LOOP
        EXECUTE IMMEDIATE 'BEGIN DBMS_MVIEW.REFRESH('''||R.OWNER||'.'||R.MVIEW_NAME||''',''C''); END;';
    END LOOP;
END;

 


by 제로 [2015.10.22 17:55:14]

답변 감사합니다. 적용해 보도록 하겠습니다.

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