对于select语句,sql命令没有正确结束

时间:2016-06-14 19:01:24

标签: oracle function stored-procedures plsql plsqldeveloper

我有一个pl / sql函数,并且我有以下代码:

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

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

  

SQL错误:ORA-00933:SQL命令未正确结束

在上面的代码中,我从select查询的结果中获取value1schemaname是函数的输入,cnpParmId是函数的返回值。

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

1 个答案:

答案 0 :(得分:2)

很难说没有向我们展示你的程序,但我认为你的意思是你不想在动态SQL中连接cnpParmId(动态SQL怎么可能知道如何解释) cnpParmId?)。 cnpParmId可能在您的程序中的某处定义。

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

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