【发布时间】:2011-09-13 09:14:59
【问题描述】:
我想描述在 Netezza 上保存的一个表(这样可以查看变量格式、distribute on 子句等)。我知道这是可能的(本机)使用
\d <tablename>
但是我使用 SAS 进行连接(通过 ODBC)。
这可能使用 SAS 9.1.3 代码吗?
【问题讨论】:
我想描述在 Netezza 上保存的一个表(这样可以查看变量格式、distribute on 子句等)。我知道这是可能的(本机)使用
\d <tablename>
但是我使用 SAS 进行连接(通过 ODBC)。
这可能使用 SAS 9.1.3 代码吗?
【问题讨论】:
我对您的问题并不完全清楚,但我假设您想使用 nzsql 命令来描述该表。 如是, 然后试试这个 nzsql -c "\d 表名"
【讨论】:
您需要访问保存有关表的信息的系统视图。您不能在一个查询中执行此操作,但您可以使用两个查询。
SELECT attname "Attribute",
datatype "Type",
CASE WHEN attnotnull='t' THEN
'Not Null'
ELSE
'Null'
END "Modifier",
coldefault "Default"
FROM _v_relation_column col_t
cross join _v_datatype dat_t
WHERE dat_t.objid = col_t.atttypid
AND name='<table_name>'
ORDER BY attnum
;
SELECT attname "Distributed on hash"
FROM _v_table_dist_map
INNER JOIN tb_nm t ON tname = tablename
WHERE tablename ='<table_name>'
;
【讨论】:
我不了解 Netezza,但如果您可以使用 SAS/ACCESS 连接到它,那么您应该能够通过 SQL Pass-Through 使用 DBMS 特定命令。
文档here
【讨论】: