Not all databases allow you to submit multiple statements in a batch. But if you're using one that does, there shouldn't be a problem. However, you haven't showed any code, so it's possible that your problem is related to string handling and/or error handling rather than multiple statements in a batch. Something like this should be fine:
my $SQL1 = q{ SET @t_id:=(SELECT Team_ID FROM Teams WHERE Name='Boston'); SELECT * FROM Games WHERE Team_ID=@t_id AND Date>'2012-05-01'; };
while something like these will fail because perl will try to put the value of @t_id into the string for you, which will usually cause the SQL to fail:
my $SQL2 = " SET @t_id:=(SELECT Team_ID FROM Teams WHERE Name='Boston'); SELECT * FROM Games WHERE Team_ID=@t_id AND Date>'2012-05-01'; "; my $SQL3 = <<EOSQL; SET @t_id:=(SELECT Team_ID FROM Teams WHERE Name='Boston'); SELECT * FROM Games WHERE Team_ID=@t_id AND Date>'2012-05-01'; EOSQL
But we can't tell what the error is, because you've provided no code nor error messages. So it's purely a shot in the dark.
...roboticus
When your only tool is a hammer, all problems look like your thumb.
In reply to Re: Executing multiple mysql commands in a single execute() call.
by roboticus
in thread Executing multiple mysql commands in a single execute() call.
by membender
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |