Создание идентификатора объекта БД (quote_identifier)
Назначение
Метод quote_identifier
возвращает идентификатор объекта БД ЛИНТЕР для последующего его использования в качестве элемента генерируемого клиентским приложением текста SQL-запроса.
Пакет
Package Linter::db
Прототип
$sql = $dbh- >quote_identifier($name); $sql = $dbh- >quote_identifier($catalog, $schema, $table, \%attr );
Параметр | Описание | |
---|---|---|
$name | Строковый Perl-литерал | |
$catalog | Параметр не поддерживается | |
$schema | Идентификатор схемы | |
$table | Идентификатор таблицы | |
\%attr | Параметр не поддерживается |
Возвращаемые значения
Переменная | Описание | |
---|---|---|
$sql | Идентификатор объекта БД, экранированный в соответствии с языком SQL СУБД ЛИНТЕР | |
$DBI::errstr | Диагностическое сообщение (в случае ошибки) |
Пример
my $dbh = $drh- >connect("DEMO", "SYSTEM", "MANAGER8") or die "Could not connect to database: " . DBI- >errstr; my $quoted_table = $dbh- >quote_identifier("MAIN TABLE"); my $quoted_value = $dbh- >quote("20''"); my $crt_sql = sprintf("create or replace table %s(inches varchar(16));", $quoted_table); my $ins_sql = sprintf("insert into %s values (%s);", $quoted_table, $quoted_value); my $sel_sql = sprintf("select * from %s;", $quoted_table); my $del_sql = sprintf("drop table %s;", $quoted_table); $dbh- >do($crt_sql); $dbh- >do($ins_sql); my $sth = $dbh- >prepare($sel_sql); $sth- >execute(); my $data = $sth- >fetchrow_arrayref(); print($data- >[0]); $dbh- >do($del_sql); $sth- >finish(); $dbh- >disconnect();