PHP oci_execute用于多个语句

时间:2015-11-26 19:39:09

标签: php sql oracle sql-insert oci

我正在尝试在PHP上的单个oci_execute()调用中发出多个INSERT语句。问题是我收到了这个错误:

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语句。

1 个答案:

答案 0 :(得分: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块作为单个命令执行。