| DBIx-Connection documentation | Contained in the DBIx-Connection distribution. |
DBIx::Connection::Oracle::PLSQL - PLSQL block handler
use DBIx::PLSQLHandler;
my $plsql_handler = new DBIx::PLSQLHandler(
name => 'test_proc',
connection => $connection,
plsql => "
DECLARE
var1 INT;
BEGIN
var1 := :var2 + :var3;
END;",
);
$plsql_handler->execute(var2 => 12, var3 => 8);
or
use DBIx::Connection;
my $plsql_handler = $connection->plsql_handler(
name => 'test_proc',
connection => $connection,
plsql => "
DECLARE
var1 INT;
BEGIN
:var1 := :var2 + :var3;
END;",
);
my $result_set = $plsql_handler->execute(var2 => 12, var3 => 8);
Prepares plsql cursor
The DBIx::Connection::Oracle::PLSQL module is free software. You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file.
Adrian Witas, adrian@webapp.strefa.pl
See also DBIx::Connection DBIx::QueryCursor DBIx::SQLHandler.
| DBIx-Connection documentation | Contained in the DBIx-Connection distribution. |
package DBIx::Connection::Oracle::PLSQL; use warnings; use strict; use Abstract::Meta::Class ':all'; use Carp 'confess'; use base qw(DBIx::PLSQLHandler); use vars qw($VERSION); $VERSION = 0.02;
sub prepare { my ($self) = @_; $self->set_sql($self->plsql); $self->SUPER::prepare(); }
sub execute { my $self = shift; my $result_set = $self->bind_parameters(@_); $self->SUPER::execute(); $result_set; }
sub bind_parameters { my ($self, %bind_parameters) = @_; my $bind_variables = $self->bind_variables; my @bind_in_variables = $self->bind_in_variables; my %bind_params = (map {$_ => $bind_parameters{$_}} @bind_in_variables); my @binded_out_variables = $self->binded_out_variables; my %bind_params_inout = (map {$_ => $bind_parameters{$_}} @binded_out_variables); $self->bind_params(\%bind_params); $self->bind_params_inout(\%bind_params_inout); \%bind_params_inout; } __END__ 1;