Как определить все невидимые столбцы в базе данных Oracle? - PullRequest
0 голосов
/ 05 мая 2020

Я создал таблицу с невидимым столбцом:

CREATE C39293.JUNK (
  id          NUMBER,
  JUNKCOL VARCHAR2(50) INVISIBLE
);

Проверено, что таблица была создана:

select * from all_tab_columns where table_name = 'JUNK'

Вывод:

1   THE_OWNER_SCHEMA    JUNK    JUNKCOL VARCHAR2            50          Y           (WideMemo)                                  CHAR_CS 50  NO  NO      50  B   NO  YES NONE    NO  NO          
2   THE_OWNER_SCHEMA    JUNK    ID  NUMBER          22          Y   1       (WideMemo)                                          NO  NO      0       NO  YES NONE    NO  NO          

Я ожидал это представление, чтобы показать мне все невидимые столбцы, которых не было.

select * from dba_unused_col_tabs;

Записей не найдено

Как мне запросить все невидимые столбцы в базе данных?

1 Ответ

2 голосов
/ 05 мая 2020
SELECT table_name, column_name, hidden_column 
  FROM user_tab_cols 
 WHERE hidden_column='YES';

Или, как вы просили для всех столбцов в базе данных:

SELECT owner, table_name, column_name, hidden_column 
  FROM all_tab_cols 
 WHERE hidden_column='YES';

EDIT:

ALL_TAB_COLS красиво объяснено в другом вопросе

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...