Hi,
Please read the documentation on DBD-Oracle. To execute a stored
procedure do the following:
$sth=$dbh->prepare(q{
BEGIN
syn_act_uso;
END;
});
Michael
On Tue, 12 Jun 2001, Xiaoping Gu wrote:
> Date: Tue, 12 Jun 2001 09:55:42 -0400
> From: Xiaoping Gu <[EMAIL PROTECTED]>
> To: [EMAIL PROTECTED]
> Subject: 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.
>
>