Создание кэшированного претранслированного запроса (prepare_cached)
Назначение
Метод prepare_cached
выполняет подготовку запроса к выполнению и сохраняет дескриптор подготовленного запроса (экземпляр класса Statement), ассоциированный с соединением, в кэше запросов. Если другой вызов метода prepare_cached
выполняется с тем же исходным текстом запроса, то используется ранее подготовленный запрос из кэша и обращение к СУБД не осуществляется.
Пакет
Package Linter::db
Прототип
$sth = $dbh- >prepare_cached($statement); $sth = $dbh- >prepare_cached($statement, \%attr, $if_active);
Параметр | Описание | |
---|---|---|
$statement
| Текст SQL-запроса (возможно, с параметрами) | |
\%attr
| Параметр игнорируется | |
$if_active
| Управление поведением при наличии активного кэшированного экземпляра Statement:
|
Возвращаемые значения
Переменная | Описание | |
---|---|---|
$dbh
| Ссылка на дескриптор кэша претранслированного запроса или undef при возникновении ошибки | |
$DBI::errstr | Диагностическое сообщение (в случае ошибки выполнения метода) |
Пример
my $dbh = $drh- >connect("DEMO", "SYSTEM", "MANAGER8") or die "Could not connect to database: " . DBI- >errstr; my $sth = $dbh- >prepare_cached("insert into TEST_TABLE values (?, ?);");