0
여기 내 PL/SQL입니다.다중 SQL 문으로 즉시 실행
execute immediate '
create table Alex_Test2(col1 varchar2(100));
/
drop table Alex_Test2;
/
';
동적 SQL에서는 테이블이 만들어지고 즉시 삭제됩니다. 재미있는 점은 테이블이 성공적으로 생성되고 삭제되었지만 오류가 있다는 것입니다.
Error starting at line 1 in command:
execute immediate '
Error report:
ORA-06550: line 1, column 17:
PLS-00103: Encountered the symbol "; END;" when expecting one of the following:
:= . (@ % ;
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
table ALEX_TEST2 created.
table ALEX_TEST2 dropped.
Error starting at line 6 in command:
'
Error report:
Unknown Command
실제로 사용자가 입력 한 SQL 문입니다. ;
및 /
과 같은 기호는 피할 수 없습니다. 이 문제를 어떻게 해결할 수 있습니까? 또는이 오류를 어떻게 무시할 수 있습니까?
그러나 로그를 유지해야합니다. 통나무가 단지
table ALEX_TEST2 created.
table ALEX_TEST2 dropped.
감사합니다!
동적 SQL은 사용자가 입력하므로 변경할 수 없습니다. 나는 다른 모든 것을 통제 할 수있다. "찾기 및 바꾸기"에 필요한 것은 무엇입니까? –
자, 이제 막 입력하지 못하도록 막을 수는 없지만 실행하기 전에 입력을 조작 할 수는 있습니다. SQL Server에서 replace 함수를 사용합니다. http://msdn.microsoft.com/en-us/library/ms186862.aspx. dbms에서 동일 할 수도 있지만, Google 검색을 수행하는 것만으로는 안되며, 다시 한 번 물어 보면 답을 얻는 것보다 더 빨리 찾을 수있을 것입니다. –