Как узнать, какие первичные ключи таблицы используют запрос select - PullRequest
1 голос
/ 17 августа 2011

Можно ли запустить SELECT PIRMARY_KEY FROM SomeTable, где PRIMARY_KEY - это ключевое слово, которое автоматически преобразуется в столбцы первичного ключа SomeTable

Я использую Oracle база данных

Ответы [ 3 ]

3 голосов
/ 17 августа 2011

Попробуйте это:

select cc.column_name
from user_cons_columns cc
join user_constraints c on c.constraint_name = cc.constraint_name
where c.table_name = 'MYTABLE'
and c.constraint_type = 'P'
order by cc.position

Подробнее об этих и других полезных представлениях словаря данных можно прочитать в справочнике по базе данных Oracle .

0 голосов
/ 17 августа 2011

Это зависит от базы данных.Информация обычно находится в системной таблице.

Однако в большинстве случаев реализация базы данных достаточно хороша, чтобы предоставить вам хранимую процедуру для извлечения этой информации.Существуют API, которые предоставляют вам независимые от базы данных способы получения этой информации, но я подозреваю, что вы ищете что-то, доступное непосредственно из SQL.Опубликуйте свой конкретный тип базы данных, и я уверен, что кто-то узнает.

0 голосов
/ 17 августа 2011

Если вы спрашиваете, «как мне определить первичный ключ для любой таблицы», «desc table_name» покажет вам все детали, которые вам нужно знать.

...