2015-11-26 29 views
3

我試圖在PHP的單個oci_execute()調用中發出多個INSERT語句。問題是,我得到這個錯誤:多個語句的PHP oci_execute

ORA-00911: invalid character 

我猜這是每個語句後的;

所以現在,我的問題是如何使多個INSERT語句在oci_execute()內工作?

這裏是我的查詢到目前爲止:

INSERT INTO tbl (id, name) VALUES(1, 'John'); 
INSERT INTO tbl (id, name) VALUES(2, 'Martha'); 
INSERT INTO tbl (id, name) VALUES(3, 'Richard') 

編輯

注意,沒有;我查詢的結尾,因爲我使用的SQL語句。

回答

4

只是包裝的所有語句轉換成匿名PL/SQL塊:

BEGIN 
    INSERT INTO tbl (id, name) VALUES(1, 'John'); 
    INSERT INTO tbl (id, name) VALUES(2, 'Martha'); 
    INSERT INTO tbl (id, name) VALUES(3, 'Richard');  
END; 

Oracle不支持批處理命令中。匿名PL/SQL塊作爲單個命令執行。

+0

謝謝,它的工作原理!介意解釋爲什麼我需要這樣做? –