exeption ORA-00907: missing right parenthesis

Posted marydon20170307

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,..."

技术分享图片 

 

以上是关于exeption ORA-00907: missing right parenthesis的主要内容,如果未能解决你的问题,请参考以下文章

错误报告 - ORA-00907: 缺少右括号 00907. 00000 - “缺少右括号

ORA-00907: 缺少右括号

ORA-00907: 缺少右括号 00907. 00000 - “缺少右括号” *原因:*操作:行错误:44 列:30

ORA-00907: 缺少右括号 -- 奇怪

错误:ORA-00907:oracle 缺少右括号

请帮助解决“ORA-00907:缺少右括号”错误