Есть ли в Netezza функция ODBC DESCRIBE? - PullRequest
2 голосов
/ 13 сентября 2011

Я хотел бы описать таблицу, хранящуюся в Netezza (чтобы можно было видеть форматы переменных, распределять по предложениям и т. Д.). Я знаю, что это возможно (изначально), используя

\d <tablename>

Однако я использую SAS для подключения (через ODBC).

Возможно ли это с использованием кода SAS 9.1.3?

Ответы [ 3 ]

1 голос
/ 30 октября 2013

Вам потребуется доступ к системным представлениям, которые содержат информацию о таблицах.Вы не можете сделать это в одном запросе, но вы можете сделать это с двумя.

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>'
;
1 голос
/ 26 сентября 2011

Мне не совсем понятен ваш вопрос, но я предполагаю, что вы хотите описать таблицу с помощью команды nzsql. Если да, тогда попробуй это nzsql -c "\ d table_name"

0 голосов
/ 16 февраля 2012

Я не знаю о Netezza, но если вы можете подключиться к нему с помощью SAS / ACCESS, тогда вы сможете использовать специальную команду СУБД с SQL Pass-Through.

документация здесь

...