[Phpmyadmin-devel] How to execute a multi query?
Rouslan Placella
rouslan at placella.com
Wed May 25 16:19:52 CEST 2011
On Wed, 2011-05-25 at 15:49 +0200, Michal Čihař wrote:
> Hi
>
> Dne Wed, 25 May 2011 14:35:44 +0100
> Rouslan Placella <rouslan at placella.com> napsal(a):
>
> > I can't find anywhere a method for changing the delimiter for a query,
> > so that I can manipulate stored routines. For example, trying to
> > execute:
> >
> > DELIMITER //
> > SELECT NOW()//
> >
> > with PMA_DBI_query() fails with a syntax error, yet I can change the
> > delimiter in the SQL tab, in the input box below the textarea. But it
> > looks like the queries typed into the SQL tab are executed by
> > import.php.
>
> Yes, import.php is responsible for splitting input into multiple
> queries and they are run separately by PMA_DBI_query. So if you need to
> split out query, you have to go through import.php.
>
> However if you are generating the query, you should send it part by
> part using PMA_DBI_query and just set sql_query to show complete query
> in the user interface.
Yes, I am generating the query on the fly, but I'm not sure how I am
supposed to split it. Here's a simple example that I don't know how to
handle:
CREATE PROCEDURE `proc`(INOUT p INT(10))
BEGIN
SELECT 10 into p;
END//
If I first try to execute
DELIMITER //
then PMA_DBI_query straight away returns the following error:
ERROR: Unknown Punctuation String @ 11
STR: //
SQL: DELIMITER //
Thanks again for any help with this.
Rouslan
More information about the Developers
mailing list