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

Получить метаданные первичных ключей табличного объекта (primary_key_info)

Назначение
 

Метод primary_key_info предоставляет информацию о первичных ключах табличного объекта БД.

Пакет

Package Linter::db

Прототип
$sth = $dbh->primary_key_info($catalog, $schema, $table);
Параметр Описание
$catalog  См. метод table_info (параметр не принимает шаблон для поиска)
$schema  См. метод table_info (параметр не принимает шаблон для поиска)
$table  См. метод table_info (параметр не принимает шаблон для поиска)
Возвращаемые значения
Переменная Описание
$sth Объект Statement Handle

Запись метаданных о первичном ключе табличного объекта БД представлена в виде массива из следующих элементов:

Имя элемента Значение
TABLE_CAT  Пустая строка
TABLE_SCHEM  Имя схемы таблицы (символьное значение в кодировке ANSI длиной до 66 символов)
TABLE_NAME  Имя таблицы
COLUMN_NAME  Имя столбца, который является первичным ключом
KEY_SEQ  Значение 1
PK_NAME  Имя первичного ключа

Примечание

Если клиентское приложение выполняется от имени пользователя БД, который не имеет дискретного или мандатного доступа к некоторым объектам БД, то результат не будет содержать инфорацию об этих объектах.

Пример

Получить информацию о первичных ключах таблицы TEST_TABLE:

my $drh = DBI->install_driver('Linter');
my $dbh = $drh->connect("", "SYSTEM", "MANAGER")
or die "Could not connect to database: " . DBI->errstr;
$dbh->do("create table TEST_TABLE(int_column int, char_column char(16), pk_col int primary key);");
my $sth = $dbh->primary_key_info('', 'TEST_TABLE', '');
while (my $data_ref = $sth->fetchrow_hashref())
{
    print($data_ref->{TABLE_CAT} . "\n");
    print($data_ref->{TABLE_SCHEM} . "\n");
    print($data_ref->{TABLE_NAME} . "\n");
    print($data_ref->{COLUMN_NAME} . "\n");
    print($data_ref->{KEY_SEQ} . "\n");
    print($data_ref->{PK_NAME} . "\n");
}
$dbh->do("drop table TEST_TABLE;");
$sth->finish();
$dbh->disconnect();
Заметили ошибку?
Выделите текст и нажмите Ctrl + Enter