2

我想描述一个在 Netezza 上保存的表(这样可以看到变量格式、distribute on 子句等)。我知道这是可能的(本机)使用

\d <tablename>

但是我使用 SAS 连接(通过 ODBC)。

这可能使用 SAS 9.1.3 代码吗?

4

3 回答 3

1

您将需要访问包含有关表的信息的系统视图。您不能在一个查询中执行此操作,但您可以使用两个查询来执行此操作。

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>'
;
于 2013-10-30T12:44:53.247 回答
1

我对你的问题并不完全清楚,但我假设你想用 nzsql 命令描述表。如果是,那么试试这个 nzsql -c "\d table_name"

于 2011-09-26T11:51:31.757 回答
0

我不了解 Netezza,但如果您可以使用 SAS/ACCESS 连接到它,那么您应该能够使用带有 SQL Pass-Through 的 DBMS 特定命令。

文档在这里

于 2012-02-16T19:07:42.040 回答