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(a)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