Доступные версии документации

Привязка формального параметра хранимой процедуры (bind_param_inout)

Назначение
 

Метод bind_param_inout выполняет привязку значения указанного формального параметра хранимой процедуры.

Метод позволяет задать значение для inout-параметра хранимой процедуры, в которую необходимо разместить вычисленное хранимой процедурой значение выходного параметра. Значение привязываемого параметра не копируется, а только считывается в момент выполнения запроса.

Пакет

Package Linter::st

Прототип
$rc = $sh->bind_param_inout($p_num, \$bind_value, $max_len);
Параметр Описание
$p_num Порядковый номер привязываемого параметра. Отсчет начинается с 1
$bind_value Ссылка на переменную, содержащую значение привязываемого параметра
$max_len Минимальный объем памяти, выделяемый для размещения значения выходного привязываемого параметра
Возвращаемые значения
Переменная Описание

$rc:

  • 1

  • 0

 

Нормальное завершение

Ошибка выполнения метода

$DBI::errstr Диагностическое сообщение (в случае ошибки)
Пример
my $a_val = 5;
my $b_val = 10;
my $c_val = 20;
my $dbh = $drh -> connect("DEMO", "SYSTEM", "MANAGER")
        or die "Could not connect to database: " . DBI->errstr;
$dbh->do("create procedure TEST_PROC (in a int; inout b int; inout c int)
          result int code b := a; c := a + b; return c; end;");
my $sth = $dbh->prepare("execute TEST_PROC(?, ?, ?);");
$sth->bind_param(1, $a_val);
$sth->bind_param_inout(2, \$b_val, 4); #4 bytes for int type
$sth->bind_param_inout(3, \$c_val, 4); #4 bytes for int type
$sth->execute();
print("a = $a_val\n");
print("b = $b_val\n");
print("c = $c_val\n");
$dbh->do("drop procedure TEST_PROC;");
$sth->finish();
$dbh->disconnect();
Заметили ошибку?
Выделите текст и нажмите Ctrl + Enter