exeption ORA-00907: missing right parenthesis

exeption ORA-00907: missing right parenthesis

CreationTime--2018年8月16日11点11分

Author:Marydon

1.情景展示

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

2.原因分析

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

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

3.解决方案

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

  声明sql语句

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

  调用sql语句

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

 

posted @ 2018-08-16 11:16  Marydon  阅读(2341)  评论(0编辑  收藏  举报