4

I'm trying to issue multiple INSERT statements within a single oci_execute() call on PHP. The problem is that I get this error:

ORA-00911: invalid character

I'm guessing it's the ; after each statement.

So now, my question is how do I make multiple INSERT statements that would work within oci_execute()?

Here's my query so far:

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

EDIT:

Note that there is no ; at the end of my query because I'm using SQL statements.

1 Answer 1

7

Just wrap all statement into anonymous PL/SQL block:

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 doesn't support batch of commands. Anonymous PL/SQL block is executed as single command.

Sign up to request clarification or add additional context in comments.

1 Comment

Thanks, it works! Mind explaining why I need to do it this way?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.