Создание идентификатора объекта БД (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();