我有一个pl / sql函数,并且我有以下代码:
execute immediate 'select ' || schemaname || '.' || value1 || '_seq.nextval from dual into cnpParmId';
对于这一行,我收到一个错误:
SQL错误:ORA-00933:SQL命令未正确结束
在上面的代码中,我从select查询的结果中获取value1
。 schemaname
是函数的输入,cnpParmId
是函数的返回值。
我尝试了不同的方法来解决这个问题,但我仍然得到错误。
答案 0 :(得分:2)
很难说没有向我们展示你的程序,但我认为你的意思是你不想在动态SQL中连接cnpParmId
(动态SQL怎么可能知道如何解释) cnpParmId
?)。 cnpParmId
可能在您的程序中的某处定义。
相反,您可能打算使用execute immediate命令的into
子句:
execute immediate 'select ' || schemaname || '.' || value1 || '_seq.nextval from dual'
into cnpParmId;