Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите, не могу вывести названия / 10 сообщений из 10, страница 1 из 1
17.10.2017, 19:05
    #39537701
Batewoman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите, не могу вывести названия
Коллеги, добрый вечер. Есть огромная таблица с большим количеством столбцов. Как можно быстро получить столбцы, название которых содержит слово «date”?
select * from glogowner.shipment
where ? LIKE '%date%';
...
Рейтинг: 0 / 0
17.10.2017, 19:14
    #39537702
rf_mail
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите, не могу вывести названия
Batewoman,

select * from all_tab_columns t where upper(t.COLUMN_NAME) like upper('%DATE%')

это называется словарь данных
...
Рейтинг: 0 / 0
17.10.2017, 20:54
    #39537718
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите, не могу вывести названия
rf_mail,

Во первых это завиcит от версии. В 12C поля можно делать невимимыми (invisible). Ну а в более ранних версиях тоже можно создать спрятанное (hidden) поле создав FBI напримeр на UPPER(DATE) а затем переимeновать в UPPER_DATE. Поэтому лучше не ALL_TAB_COLUMNS a ALL_TAB_COLS. Там и поля есть показывающие invisible/hidden. Ну и UPPER зачем на upper('%DATE%')?

SY.
...
Рейтинг: 0 / 0
17.10.2017, 22:02
    #39537728
rf_mail
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите, не могу вывести названия
SY,

Запрос свой напишите.пожалуйста.
...
Рейтинг: 0 / 0
18.10.2017, 02:52
    #39537773
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите, не могу вывести названия
Хм, интересно. Проверил invisible column нa 12.2 и из XXX_TAB_COLUMNS она не исчезает, хотя согласно DBA_TAB_COLUMNS :

This view filters out system-generated hidden columns and invisible columns , which are user-generated hidden columns. The DBA_TAB_COLS view does not filter out hidden columns and invisible columns.

Так-что либо баг в XXX_TAB_COLUMNS либо в документации. 12.1 под рукой нет чтобы проверить как там.

SY.
...
Рейтинг: 0 / 0
18.10.2017, 09:29
    #39537839
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите, не могу вывести названия
SYТак-что либо баг в XXX_TAB_COLUMNS либо в документации. 12.1 под рукой нет чтобы проверить как там.Ставлю на доку.11gR212cR1
Код: plsql
1.
2.
3.
4.
create or replace view USER_TAB_COLUMNS
…
  from USER_TAB_COLS
 where HIDDEN_COLUMN = 'NO'

Код: plsql
1.
2.
3.
4.
create or replace view USER_TAB_COLUMNS
…
  from USER_TAB_COLS
 where USER_GENERATED = 'YES'

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
SQL> create table plch_tab (i int, h invisible as (-i));

Table created.

SQL> create index plch_tab$fbi on plch_tab(abs(i));

Index created.

SQL> select column_name from user_tab_columns where table_name = 'PLCH_TAB';

COLUMN_NAME
----------------------------------------------------------------------------
I
H

2 rows selected.

SQL> drop table plch_tab;

Table dropped.


SYThis view filters out system-generated hidden columns and invisible columns , which are user-generated hidden columns. The DBA_TAB_COLS view does not filter out hidden columns and invisible columns.Должно было бы бытьThis view filters out system-generated hidden columns but not invisible columns
...
Рейтинг: 0 / 0
18.10.2017, 14:06
    #39538051
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите, не могу вывести названия
Elic,

Ну тогда что-то не так в датском кoролевсте.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
SQL> create table plch_tab (i int, h invisible as (-i));

Table created.

SQL> select  column_name,
  2          column_id,
  3          internal_column_id,
  4          hidden_column,
  5          virtual_column
  6    from  dba_tab_cols
  7    where  table_name = 'PLCH_TAB'
  8  /

COLUMN_NAME                     COLUMN_ID INTERNAL_COLUMN_ID HID VIR
------------------------------ ---------- ------------------ --- ---
I                                       1                  1 NO  NO
H                                                          2 YES YES

SQL> alter table plch_tab modify h visible
  2  /

Table altered.

SQL> select  column_name,
  2          column_id,
  3          internal_column_id,
  4          hidden_column,
  5          virtual_column
  6    from  dba_tab_cols
  7    where  table_name = 'PLCH_TAB'
  8  /

COLUMN_NAME                     COLUMN_ID INTERNAL_COLUMN_ID HID VIR
------------------------------ ---------- ------------------ --- ---
I                                       1                  1 NO  NO
H                                       2                  2 NO  YES

SQL>



Так что или трусы или крестик

SY.
...
Рейтинг: 0 / 0
18.10.2017, 14:33
    #39538078
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите, не могу вывести названия
SYНу тогда что-то не так в датском кoролевсте.Всё так. Представление показывает столбцы, явно созданные пользователем. Раньше для этого было достаточно условия "не скрытый".
Сейчас условие изменилось в соответствии с новыми возможностями. И представление по-прежнему показывает столбцы, явно созданные пользователем .
SYТак что или трусы или крестик Ты человеческими словами скажи, какая у тебя претензия. Для меня же всё предельно логично.
...
Рейтинг: 0 / 0
18.10.2017, 14:55
    #39538115
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите, не могу вывести названия
DBA_TAB_COLUMS было "разбито" на DBA_TAB_COLUMNS и DBA_TAB_COLS чтобы в DBA_TAB_COLS показывать все а в DBA_TAB_COLUMNS показывать все что не спрятaно. Так если баг в доке то почему invisible поле hidden?

SY.
...
Рейтинг: 0 / 0
18.10.2017, 15:34
    #39538145
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите, не могу вывести названия
SYв DBA_TAB_COLUMNS показывать все что не спрятaноВсё, что явно создал пользователь.
SYТак если баг в доке то почему invisible поле hidden?Даже странно это от тебя слышать, Соломон. Это ж синонимы.
Процитированный "неправильный" кусок доки даже объясняет это: " invisible columns are user-generated hidden columns".
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите, не могу вывести названия / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]