立即执行:遇到符号

J2H*_*656 0 oracle select function execute-immediate plsqldeveloper

我目前收到此错误 ORA-06550 PLS-00103 遇到符号“VERSION”...

任何人都可以帮我解决这个问题吗?非常感激!

declare
sql_stmnt VARCHAR(200);
lsparameter varchar(50);
lsparameterdata varchar(20);

begin
 sql_stmnt := 'SELECT parameter, parameter_data into lsparameter, lsparameterdata FROM MyTable WHERE parameter = 'version'';
 EXECUTE IMMEDIATE sql_stmnt;
end;
Run Code Online (Sandbox Code Playgroud)

我知道我已经在 where 子句中将参数设置为“version”。我想从 MyTable 检索参数和parameter_data 以检查版本,然后继续执行函数的其余部分。

提前致谢。

hak*_*aki 5

你需要'像这样转义这个角色

 sql_stmnt := 'SELECT parameter, parameter_data into lsparameter, lsparameterdata FROM MyTable WHERE parameter = ''version''';
Run Code Online (Sandbox Code Playgroud)

并且您在立即执行后缺少一个进入。