0

これが私のPL/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.

ありがとう!

4

1 に答える 1

2

クエリ文字列を実行する前に操作することはできませんか?あなたがそれをする能力を持っていないなら、あなたは何をする能力を持っていますか?

クエリ文字列を実行する前に、クエリ文字列を検索して置換する必要があるようです。

于 2011-11-14T23:36:45.083 に答える