존재하지 않는 테이블에 커서를 선언하고 싶습니다. 물론, 내 프로 시저가 컴파일되지 않습니다.Oracle PLSQL - 존재하지 않는 테이블에 커서 선언
이 테이블은 임시 테이블이며 사전 프로세스로 생성됩니다. 그것은 런타임에 존재하지만, 컴파일 타임에 또 다른 이야기. 내 선택에 대한
는/내가
EXECUTE IMMEDIATE 'operation from tmp_table'
방법이 있습니까?
SQL> declare
2 c sys_refcursor;
3 BEGIN
4 open c for 'select * from pepito'; -- 'pepito' does not exist
5 close c;
6 end;
7/
declare
*
ERROR at line 1:
ORA-00942: table or view does not exist
ORA-06512: at line 4
가, 감사 CREATE PROCEDURE에 사용해야합니다
는 기본적으로, 나는이
drop table test;
/*from this on should compile*/
DECLARE
cursor c is select * from test;
BEGIN
for reg in c LOOP
/*...*/
END LOOP;
END;
갱신 지금까지 컴파일하지
를 컴파일합니다.
미리 감사드립니다.
발생하지 것이다 오라클, 좋은 실례로 간주되지 않습니다. 'declare'를'CREATE PROCEDURE test_cursor AS'로 바꾸어 코드를 컴파일하십시오. –
: facepalm 15cccc – Tom
TOAD에는 컴파일 버튼이 없습니다. : S 이것은 사소한 일입니다! – Tom