Oracle: Есть ли способ получить типы данных столбцов для представления?

Для таблицы в оракуле я могу запросить "all_tab_columns" и получить информацию столбца таблицы, такую ​​как тип данных, точность, независимо от того, является ли столбец нулевым.

В SQL Developer или TOAD вы можете щелкнуть мышью по представлению в графическом интерфейсе и вывести список столбцов, возвращаемых представлением, и один и тот же набор данных (тип данных, точность, обнуление и т.д.).

Итак, мой вопрос: есть ли способ запросить это определение столбца для представления, как вы можете это сделать для таблицы? Как это делают инструменты GUI?

Ответ 1

Вы можете использовать user_tab_columns (или all_tab_columns и dba_tab_columns соответственно) независимо от того, ссылается ли табличное имя на представление или на таблицу.

Ответ 2

Просмотр столбцов отображается в all_tab_columns, поэтому вы можете запросить их так же, как и таблицы.

Ответ 3

Просто напишите этот запрос:

SQL> desc TABLE/VIEW NAME;

Например, если имя таблицы/представления - "отдел", тогда просто напишите:

SQL> desc department;

Это даст список всех полей, тип и значение по умолчанию. Нулевая информация о таблице или представлении.

Ответ 4

вы можете использовать представления каталога ANSI, должны работать для большинства RDBM

select * 
from information_schema.columns c
join information_schema.tables t on c.table_name = t.table_name
where table_type = 'view'