2010-09-15 4 views
5

У меня есть список таблиц в базе данных Netezza, и я хочу получить имя первичного ключа для каждой из таблиц.Netezza Sql query

Может ли кто-нибудь предоставить мне запрос.

+1

У меня есть время найти любую документацию для Netezza, но я, вероятно, начну с просмотра системных представлений. 'select * from _v_table;' например –

+0

Спасибо Abe! Я посмотрю на системные представления. –

ответ

5

Вы можете использовать этот запрос.

SELECT * FROM _v_relation_keydata; 
+0

Спасибо Winder!, Я посмотрю. –

2

В Netezza нет ничего первичного ключа. Если вы хотите посмотреть на NULL или NOT NULL ограничений для требуемой таблицы можно ввести следующие команды из командной строки nzsql

\ d [YOURTABLENAME]

0

У нас нет primary key концепции в Netezza. Если вас беспокоит Not NULL, то после этого вам поможет следующий запрос.

select * from _v_relation_column where NAME='TABLE_NAME' and ATTNOTNULL='Y'; 
0

Ключевой (первичный/иностранный) понятия не существует в Нетэце. Но мы можем создавать первичные ключи в Netezza, и это создается для синхронизации модели с внешними инструментами для представления данных, такими как Informatica/Microstrategy.

Вы можете посмотреть в системный вид _v_relation_keydata.

2
SELECT database 
     , schema 
     , constraintname 
     , relation as tablename 
     , conseq as seq 
     , attname as columnname, * 
FROM _v_relation_keydata 
where contype='p' 
and schema='ADMIN' 
order by relation, conseq 
+0

Кодовые ответы не очень полезны. –

+1

Правда, в общем, это было для меня на этот раз! :) – herdingofthecats

Смежные вопросы