스크립트에 사용 된 테이블 이름을 변수로 설정하려는 pl \ sql 스크립트가 있습니다. 따라서 웹에서 발견 된 몇 가지 예에서 아래 코드를 작성했습니다. 첫 번째 섹션이 작동하므로 일반적인 구문이 올바르지 만 두 번째 섹션에서는 테이블 이름에 변수 ("SQL 오류 : ORA-00903 : 잘못된 테이블 이름")를 사용하려고 시도합니다.테이블 이름에 오라클 스크립트 변수를 사용하는 방법
아무도 내가 잘못하고있는 것을 안다. 나는 PL \ SQL을 많이하지 않아 어쩌면 나는 명백한 것을 놓치고있다.
--works
variable numOfrecords number;
exec :numOfrecords := 10;
select * from customers2008 where rownum < :numOfrecords;
--does not work
variable tableNm CHAR;
exec :tableNm := 'customers2008';
print tableNm;
select * from :tableNm;
FYI : 예제를 기반으로하면 실제로 PL/SQL을 사용하지 않고 있습니다. 나는 당신이 SQLPlus 스크립트를 가지고 있다는 것을 의미한다고 생각한다. 전문적으로, 당신의 exec 명령은 PL/SQL을 호출하지만 여기서 보여주는 것은 전반적으로 SQLPlus 명령입니다. –
글쎄, 기술적으로 그는 둘 다 사용하고있다. 스크립트의 변수 명령은 PL/SQL 바인드 변수를 선언한다. –