2010-09-15 108 views
5

我有一个Netezza数据库中的表的列表,我想获取每个表的主键的名称。Netezza SQL查询

任何人都可以提供我的查询。

+1

我有一段时间找Netezza的任何文档,但我可能会从查看系统视图开始。 'select _ from _v_table;'例如 – 2010-09-15 23:10:08

+0

谢谢安倍!我会看看系统视图。 – 2010-09-18 20:06:16

回答

5

您可以使用此查询。

SELECT * FROM _v_relation_keydata; 
+0

感谢Winder!,我会研究它。 – 2010-09-25 02:23:53

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中不存在关键(主要/外部)概念。但是我们可以在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

仅有代码的答案没有多大用处。 – 2015-02-13 13:59:46

+1

这是真的,但这次肯定是对我来说! :) – herdingofthecats 2015-08-30 05:42:21