Получить список имен столбцов, входящих в состав первичного составного ключа табличного объекта (primary_key)
Назначение
Метод primary_key
возвращает список имен столбцов, которые входят в состав первичного составного ключа табличного объекта. Является упрощенным вариантом метода primary_key_info
.
Пакет
Package Linter::db
Прототип
@key_column_names = $dbh- >primary_key($catalog, $schema, $table);
Параметр | Описание | |
---|---|---|
$catalog
| См. метод table_info (параметр не принимает шаблон для поиска) | |
$schema
| См. метод table_info (параметр не принимает шаблон для поиска) | |
$table
| См. метод table_info (параметр не принимает шаблон для поиска) |
Возвращаемые значения
Переменная | Описание | |
---|---|---|
@key_column_names | Список имен столбцов |
Примечание
Если клиентское приложение выполняется от имени пользователя БД, который не имеет дискретного или мандатного доступа к некоторым объектам БД, то результат не будет содержать инфорацию об этих объектах.
Пример
Получить список имен столбцов, которые являются первичными ключами в рамках составного первичного ключа таблицы TEST_TABLE:
my $drh = DBI- >install_driver('Linter'); my $dbh = $drh- >connect("", "SYSTEM", "MANAGER8") or die "Could not connect to database: " . DBI- >errstr; $dbh- >do("create table TEST_TABLE(int_column int, smallint_column smallint, char_column char(16));"); $dbh- >do("alter table TEST_TABLE add primary key (int_column, smallint_column);"); my @pkeys = $dbh- >primary_key('', 'TEST_TABLE', ''); for (my $i = 0; $i < scalar(@pkeys); $i++) { print($pkey[$i] . "\n"); } $dbh- >do("drop table TEST_TABLE;"); $dbh- >disconnect();