淘先锋技术网

首页 1 2 3 4 5 6 7
 

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,..."