in reply to executing a OSP with CGI
This may have changed recently, but for a long time the recommended way to execute a stored procedure in Oracle through DBI is to essentially execute an anonymous procedure that calls it, like so:
$SQLString =<<END_OF_SQL; BEGIN OSP_FOO_BAR( ?, ?, ? ); END; END_OF_SQL $db->do( $SQLString, undef, $xvar, $yvar, $zvar ) or die "Can't execute $SQLString: " . $db->errstr();
In case you're unfamiliar with the notion, the ? are placeholders, whose values get replace by your x, y, and z vars in the do call. The undef in the do call is required to use placeholders with the DBI's do method (you probably don't need to know exactly why, but you do need something there).
Updated the code to fix one syntax error and misleading syntax.
This way of executing stored procedures is documented in DBD::Oracle
If not P, what? Q maybe?
"Sidney Morgenbesser"
|
---|