【问题标题】:SQL Exception: ORA-00936: missing expressionSQL 异常:ORA-00936:缺少表达式
【发布时间】:2016-04-29 00:49:19
【问题描述】:

我正在运行以下查询:

my query = insert into tbl_name (ID,name, address,...)" +" values (?,?,?)

然后我使用查询运行器类来插入。

myQueryRunnerObj.insert("my query", result set handler obj, generated id, 'my name', 'my address',...);

在此之后我得到以下异常:Exception in thread "main" java.sql.SQLException: ORA-00936: missing expression 有时是invalid number of arguments expecting 11 given 10

出现此异常的原因可能是什么?

【问题讨论】:

  • 重新创建实际查询但使用虚拟列可能会有所帮助,因为错误显然在语法范围内。

标签: java oracle oracle11g


【解决方案1】:

正确的语法是:

INSERT INTO dept (deptno, dname) VALUES (dept_seq.nextval, 1);

INSERT INTO dept (deptno, dname)
 SELECT dept_seq.nextval, 2
   FROM dual;

【讨论】:

    【解决方案2】:

    ORA-00936: 缺少表达式 原因:省略了子句或表达式的必需部分。例如,输入的 SELECT 语句可能没有列或表达式列表,或者表达式不完整。在误用保留字的情况下也会发出此消息,例如在 SELECT TABLE 中。 行动:检查语句语法并指定缺少的组件。

    检查this

    【讨论】:

      猜你喜欢
      • 2018-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多