2016-04-21 73 views
0

我运行下面的查询:SQL异常:ORA-00936:缺少表达

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

什么能得到这个异常的原因?

+0

因为错误显然似乎是语法中可能会有所帮助重建的实际查询,但用虚拟列。 – Spade

回答

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