/usr/share/doc/libdbd-mysql-perl/examples/proc_example2b.pl is in libdbd-mysql-perl 4.033-1build2.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | #!/usr/bin/perl
use strict;
use DBI;
use Data::Dumper;
my $db='test';
my $host='localhost';
my $user='root';
my $password='';
my $i= 0;
my $dbh = DBI->connect("DBI:mysql:$db:$host",
"$user", "$password",
{ PrintError => 0}) || die $DBI::errstr;
$dbh->trace(3,"proc2.trace");
# DROP TABLE IF EXISTS
$dbh->do("DROP TABLE IF EXISTS users") or print $DBI::errstr;
# CREATE TABLE
$dbh->do("CREATE TABLE users (id INT, name VARCHAR(32))") or print $DBI::errstr;
my $sth= $dbh->prepare("INSERT INTO users VALUES (?, ?)");
for $i(1 .. 20)
{
my @chars = grep !/[0O1Iil]/, 0..9, 'A'..'Z', 'a'..'z';
my $random_chars = join '', map { $chars[rand @chars] } 0 .. 31;
my $rows = $sth->execute($i, $random_chars);
}
$dbh->do("DROP PROCEDURE IF EXISTS users_proc") or print $DBI::errstr;
$dbh->do("CREATE PROCEDURE users_proc() DETERMINISTIC
BEGIN
SELECT id, name FROM users;
SELECT name, id FROM users;
END") or print $DBI::errstr;
$sth = $dbh->prepare('call users_proc()') ||
die $DBI::err.": ".$DBI::errstr;
$sth->execute || die DBI::err.": ".$DBI::errstr;
$i= 1;
do
{
print "\nResult set $i\n---------------------\n";
for (0 .. 19)
{
my $rowref=$sth->fetchrow_arrayref();
print "$rowref->[0] $rowref->[1]\n";
}
$i++;
} while ($sth->more_results())
|