Netezza 的信息架构 (INFORMATION_SCHEMA)
Posted
技术标签:
【中文标题】Netezza 的信息架构 (INFORMATION_SCHEMA)【英文标题】:Information Schema (INFORMATION_SCHEMA ) for Netezza 【发布时间】:2015-05-27 00:14:20 【问题描述】:我长期以来一直在为 MS SQL 使用 INFORMATION_SCHEMA.COLUMNS,并且一直是我最好的朋友之一。我的公司正在将其平台更改为 Netezza。 Netezza 中是否有相关的东西,我可以通过查询来查询并找出 Netezza 中的列/表。
谢谢
【问题讨论】:
【参考方案1】:您可以使用用户和系统视图通过 SQL 访问此信息,如下所示:
select * from _v_table where objtype = 'TABLE';
OBJID | TABLENAME | OWNER | CREATEDATE | OBJTYPE | OBJCLASS | DESCRIPTION | RELHASINDEX | RELKIND | RELCHECKS | RELTRIGGERS | RELHASRULES | RELUKEYS | RELFKEYS | RELREFS | RELHASPKEY | RELNATTS | RELDISTMETHOD | OBJDELIM | RELTUPLES | BASEOBJID | VISIBLEID | RELVERSION | RELORIGOID | DATABASE | OBJDB | SCHEMA | SCHEMAID
---------+-----------+-------+---------------------+---------+----------+-------------+-------------+---------+-----------+-------------+-------------+----------+----------+---------+------------+----------+---------------+----------+-----------+-----------+-----------+------------+------------+----------+---------+--------+----------
1249610 | TABLE_A | ADMIN | 2015-04-13 19:33:48 | TABLE | 4905 | | f | r | 0 | 0 | f | 0 | 0 | 0 | f | 2 | 6005 | f | 0 | 1249610 | 1249610 | 0 | 1249610 | MY_TEST | 1249609 | SCOTT | 1249608
(1 row)
select * from _v_relation_column where name = 'TABLE_A';
OBJID | NAME | OWNER | CREATEDATE | TYPE | DATABASE | ATTNUM | ATTNAME | COLID | DESCRIPTION | FORMAT_TYPE | ATTNOTNULL | ATTTYPID | ATTTYPMOD | ATTLEN | ATTDISPERSION | COLDEFAULT | ATTCOLLENG | ATTDELIM | ZMAPPED | OBJCLASS | RELRESTOREDOID | OBJDELIM | ATTVERSTATUS | ATTORIGOID | ATTRESTOREDOID | OBJDB | SCHEMA | SCHEMAID
---------+---------+-------+---------------------+-------+----------+--------+---------+---------+-------------+-----------------------+------------+----------+-----------+--------+---------------+------------+------------+----------+---------+----------+----------------+----------+--------------+------------+----------------+---------+--------+----------
1249610 | TABLE_A | ADMIN | 2015-04-13 19:33:48 | TABLE | MY_TEST | 1 | COL1 | 1596671 | | BIGINT | f | 20 | -1 | 8 | 0 | | 8 | f | t | 4905 | 0 | f | 0 | 0 | 0 | 1249609 | SCOTT | 1249608
1249610 | TABLE_A | ADMIN | 2015-04-13 19:33:48 | TABLE | MY_TEST | 2 | COL2 | 1596672 | | CHARACTER VARYING(20) | f | 1043 | 32 | -1 | 0 | | 20 | f | f | 4905 | 0 | f | 0 | 0 | 0 | 1249609 | SCOTT | 1249608
(2 rows)
这些观点和其他观点are documented here。
【讨论】:
谢谢,这很有帮助,但我希望它能给我一个选定数据库中所有表的所有列名的列表。其他视图只是没有为我提供列名列表。 这就是 _v_relation_column 提供的。 ATTNAME 是列名。以上是关于Netezza 的信息架构 (INFORMATION_SCHEMA)的主要内容,如果未能解决你的问题,请参考以下文章
Netezza:使用 SQL / force 生成完整的统计信息