PHP oci выполняется для нескольких операторов


Я пытаюсь выполнить несколько инструкций INSERT в одном вызове oci_execute() на PHP. Проблема в том, что я получаю эту ошибку:

ORA-00911: invalid character

Я предполагаю, что это ; после каждого утверждения.

Итак, теперь мой вопрос в том, как мне сделать несколько операторов ВСТАВКИ, которые будут работать в 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.

Author: uom-pgregorio, 2015-11-26

1 answers

Просто оберните все инструкции в анонимный блок 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 выполняется как одна команда.

 4
Author: Husqvik, 2015-11-26 19:55:05