PHP oci_execute 多个语句
PHP oci_execute for Multiple Statements
我试图在 PHP 上的单个 oci_execute()
调用中发出多个 INSERT 语句。问题是我得到这个错误:
ORA-00911: invalid character
我猜是每个语句后的 ;
。
所以现在,我的问题是如何制作可在 oci_execute()
内运行的多个 INSERT 语句?
到目前为止,这是我的查询:
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 语句。
只需将所有语句包装到匿名 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 块作为单个命令执行。
我试图在 PHP 上的单个 oci_execute()
调用中发出多个 INSERT 语句。问题是我得到这个错误:
ORA-00911: invalid character
我猜是每个语句后的 ;
。
所以现在,我的问题是如何制作可在 oci_execute()
内运行的多个 INSERT 语句?
到目前为止,这是我的查询:
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 语句。
只需将所有语句包装到匿名 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 块作为单个命令执行。