Получить список имен столбцов, входящих в состав первичного составного ключа табличного объекта (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();