sql 命令未正确结束 select 语句

sql command not properly ended for select statement

我有一个 pl/sql 函数,其中我有以下代码:

execute immediate 'select ' || schemaname || '.' || value1 || '_seq.nextval from dual into cnpParmId';

对于这一行,我收到一个错误:

SQL Error: ORA-00933: SQL command not properly ended

在上面的代码中,我从 select 查询的结果中得到了 value1schemaname 是函数的输入,cnpParmId 是函数的 return 值。

我尝试了不同的方法来解决这个问题,但我仍然遇到错误。

如果不向我们展示更多您的过程很难说,但我认为可以合理猜测您并不是要在动态 SQL 中连接 cnpParmId(动态怎么可能SQL 可能知道如何解释 cnpParmId?)。 cnpParmId 可能在您的程序中某处定义。

相反,您可能打算使用 execute immediate 命令的 into 子句:

execute immediate 'select ' || schemaname || '.' || value1 || '_seq.nextval from dual'
into cnpParmId;