exception ORA-00923: FROM keyword not found where expected

Posted marydon20170307

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了exception ORA-00923: FROM keyword not found where expected相关的知识,希望对你有一定的参考价值。

exception ORA-00923: FROM keyword not found where expected

CreationTime--2018年8月16日10点41分

Author:Marydon

1.情景展示

  oracle存储过程 动态sql调用,调用失败:

技术分享图片 

2.原因分析

  在oracl数据库中,ddl表示数据库定义语言,即我们平常使用的sql语句,声明的sql语句可以直接使用拼接字符串进行拼接;

  dml表示数据操纵语言,声明的sql语句不能再用管道符||来动态拼接变量。 

3.解决方案

  execute immediate属于dml,dml使用sql的规则如下:

  声明sql语句

  字符串拼接变量时,变量要使用占位符来代替,格式为 ":" + "名字",名字随意

  调用sql语句

  使用"using"来传递变量,代替占位符,格式为 "using var1,var2,..."

技术分享图片 

 

以上是关于exception ORA-00923: FROM keyword not found where expected的主要内容,如果未能解决你的问题,请参考以下文章

ORA-00923: FROM keyword not found where expected

错误:ORA-00923:在预期的地方找不到 FROM 关键字

ORA-00923 错误:在预期的地方找不到 FROM 关键字

ORA-00923: 使用 shell 脚本在预期的地方找不到 FROM 关键字

我将如何修复这些“ORA-00933:SQL 命令未正确结束”“ORA-00923:未在预期位置找到 FROM 关键字”错误?

ORA-00923: 未找到要求的 FROM 关键字