#!perl -w # $Id: testproc4.pl 11680 2008-08-28 08:23:27Z mjevans $ use strict; use DBI; # Connect to the database, and create a table and stored procedure: my $dbh=DBI->connect("dbi:ODBC:PERL_TEST_SQLSERVER", $ENV{DBI_USER}, $ENV{DBI_PASS}, { RaiseError => 1 }) or die "Can't connect"; eval {$dbh->do("DROP PROCEDURE proc1");}; my $proc1 = "CREATE PROCEDURE proc1 ". " \@MaxOrderID1 int OUTPUT, " . " \@MaxOrderID2 varchar(32) OUTPUT AS " . " SELECT \@MaxOrderid1 = 200 + 100 " . " SELECT \@MaxOrderid2 = '200' + '100' ". " return (0) "; eval {$dbh->do ($proc1);}; if ($@) { print "Error creating procedure.\n$@\n"; } # Execute it: if (-e "dbitrace.log") { unlink("dbitrace.log"); } $dbh->trace(9, "dbitrace.log"); my $sth = $dbh->prepare ("{call proc1(?, ?) }"); my $retValue1; my $retValue2; $sth->bind_param_inout(1,\$retValue1, 32); $sth->bind_param_inout(2,\$retValue2, 32); $sth->execute; print "$retValue1, $retValue2\n"; $dbh->disconnect;