2016-04-21 103 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