I think it is:

$dbh->prepare(qq{
BEGIN
        syn_act_uso;    
END;
});

-----Ursprüngliche Nachricht-----
Von: Xiaoping Gu [mailto:[EMAIL PROTECTED]]
Gesendet am: Dienstag, 12. Juni 2001 15:56
An: [EMAIL PROTECTED]
Betreff: How to execute a stored procedure by using DBI?

I created a procedure and it can be run on sql command line.
Then, I put it in a perl program like this:

$dth = $dbh->prepare("exec syn_act_uso")
or die "Couldn't prepare statement: " . $dbh->errstr;
my $success = $dth->execute();
unless ($success) { die "Couldn't exec efmsdbo.syn_act_uso: " .
$dth->errstr }

where 'syn_act_uso' is the procedure and it doesn't pass parameters.
It failed with an error message as follow:

DBD::Oracle::st execute failed: ORA-00900: invalid SQL statement (DBD ERROR:
OCIStmtExecute) at act_uso.pl line 129.
Couldn't exec syn_act_uso: ORA-00900: invalid SQL statement (DBD ERROR:
OCIStmtExecute) at act_uso.pl line 130.

Could someone tell me how to execute a procedure by using DBI?  Thanks.

Reply via email to