#!/usr/bin/perl
my
$connect_string
=
'DBI:mysql:database=test'
;
my
$username
=
'root'
;
my
$password
=
''
;
my
$attributes
= {};
my
$dbh
= DBI->
connect
(
$connect_string
,
$username
,
$password
,
$attributes
) ||
die
$DBI::errstr
;
$dbh
->
do
(
"drop procedure if exists someproc"
) or
print
$DBI::errstr
;
$dbh
->
do
(
"create procedure someproc() deterministic begin "
.
"declare a,b,c,d int; set a=1; set b=2; set c=3; set d=4; "
.
"select a, b, c, d; select d, c, b, a; select b, a, c, d; "
.
"select c, b, d, a; end"
) or
print
$DBI::errstr
;
my
$sth
=
$dbh
->prepare(
'call someproc()'
) ||
die
$DBI::errstr
;
$sth
->execute ||
die
$DBI::errstr
;
my
@row
=
$sth
->fetchrow_array();
print
Dumper \
@row
;
my
$more_results
=
$sth
->more_results();
print
$more_results
.
"\n"
;
@row
=
$sth
->fetchrow_array();
print
Dumper \
@row
;
$more_results
=
$sth
->more_results();
print
$more_results
.
"\n"
;
@row
=
$sth
->fetchrow_array();
print
Dumper \
@row
;
$more_results
=
$sth
->more_results();
print
$more_results
.
"\n"
;
@row
=
$sth
->fetchrow_array();
print
Dumper \
@row
;
$more_results
=
$sth
->more_results();
print
$more_results
.
"\n"
;
@row
=
$sth
->fetchrow_array();
print
Dumper \
@row
;
$more_results
=
$sth
->more_results();
print
$more_results
.
"\n"
;