powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / вопрос по DBA_COL_COMMENTS
11 сообщений из 11, страница 1 из 1
вопрос по DBA_COL_COMMENTS
    #32175435
Фотография Ося
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сабж, можно ли говорить, что в этой вьюхе лежат названия всех столбцов всех таблиц базы?
...
Рейтинг: 0 / 0
вопрос по DBA_COL_COMMENTS
    #32175447
AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет. Здесь лежат только комментарии на столбцы.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
SQL> select count(*) from dba_tab_columns
   2   union all
   3   select count(*) from dba_col_comments;

  COUNT(*)
 ----------
 
      27491 
      27478 
...
Рейтинг: 0 / 0
вопрос по DBA_COL_COMMENTS
    #32175450
Фотография Ося
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОК, еще вопрос к этому же, как понимать:

select count(*) from DBA_COL_COMMENTS c
where COMMENTS is null

1 row(s) selected
COUNT(*)
----------
41000
...
Рейтинг: 0 / 0
вопрос по DBA_COL_COMMENTS
    #32175453
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Судя по тексту вью DBA_COL_COMMENTS можно:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
select u.name, o.name, c.name, co.comment$
from sys.obj$ o, sys.col$ c, sys.user$ u, sys.com$ co
where o.owner# = u.user#
  and o.type# in ( 2 ,  4 )
  and o.obj# = c.obj#
  and c.obj# = co.obj#(+)
  and c.intcol# = co.col#(+)
  and bitand(c.property,  32 ) =  0   /* not hidden column */ 


Так как внешнее соединение используется для sys.com.
...
Рейтинг: 0 / 0
вопрос по DBA_COL_COMMENTS
    #32175464
Фотография Ося
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОК, еще вопрос к этому же, как понимать:

select count(*) from DBA_COL_COMMENTS c
where COMMENTS is null

1 row(s) selected
COUNT(*)
----------
41000
...
Рейтинг: 0 / 0
вопрос по DBA_COL_COMMENTS
    #32175465
Фотография Ося
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОК, еще вопрос к этому же, как понимать:

select count(*) from DBA_COL_COMMENTS c
where COMMENTS is null

1 row(s) selected
COUNT(*)
----------
41000
...
Рейтинг: 0 / 0
вопрос по DBA_COL_COMMENTS
    #32175469
Фотография Ося
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорри за мусорные постинги...

вопрос в том, что делают в dba_col_comments строки с пустым comments
...
Рейтинг: 0 / 0
вопрос по DBA_COL_COMMENTS
    #32175487
AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
SQL> select count(*) from dba_tab_columns
   2   union all
   3   select count(*) from dba_col_comments;

  COUNT(*)
 ----------
 
      27491 
      27478 

SQL> select count(*) from dba_col_comments where comments is null;

  COUNT(*)
 ----------
 
      21190 


Так что баланс сходится. У нас базы разные.
...
Рейтинг: 0 / 0
вопрос по DBA_COL_COMMENTS
    #32175518
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй вот это:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
select
  a.table_name, a.column_name
 from
  dba_tab_columns a,
  dba_col_comments b
 where
  a.table_name = b.table_name(+) and
  a.owner = b.owner(+) and
  b.table_name is NULL;


У меня:
Код: plaintext
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.
SQLWKS> select
      2 >   a.table_name, a.column_name
      3 >  from
      4 >   dba_tab_columns a,
      5 >   dba_col_comments b
      6 >  where
      7 >   a.table_name = b.table_name(+) and
      8 >   a.owner = b.owner(+) and
      9 >   b.table_name is NULL
     10 > 
TABLE_NAME                     COLUMN_NAME                   
 ------------------------------ ------------------------------
 
C_COBJ#                        OBJ#                          
C_FILE#_BLOCK#                 TS#                           
C_FILE#_BLOCK#                 SEGFILE#                      
C_FILE#_BLOCK#                 SEGBLOCK#                     
C_MLOG#                        MASTER                        
C_MLOG#                        MOWNER                        
C_OBJ#                         OBJ#                          
C_OBJ#_INTCOL#                 OBJ#                          
C_OBJ#_INTCOL#                 INTCOL#                       
C_RG#                          REFGROUP                      
C_TOID_VERSION#                TOID                          
C_TOID_VERSION#                VERSION#                      
C_TS#                          TS#                           
C_USER#                        USER#                         
Выбрано  14  строк.
...
Рейтинг: 0 / 0
вопрос по DBA_COL_COMMENTS
    #32175627
Фотография Ося
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да я уж все понял, хотя гораздо блоее простым способом:

select table_NAMe,COLUMN_NAME from dba_tab_columns
minus
select table_NAMe,COLUMN_NAME from dba_col_comments
...
Рейтинг: 0 / 0
вопрос по DBA_COL_COMMENTS
    #32175632
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Ося:

Код: plaintext
1.
2.
select table_NAMe,COLUMN_NAME from dba_tab_columns 
minus 
select table_NAMe,COLUMN_NAME from dba_col_comments


can give wrong results. It should be:

Код: plaintext
1.
2.
select owner,table_NAMe,COLUMN_NAME from dba_tab_columns 
minus 
select owner,table_NAMe,COLUMN_NAME from dba_col_comments


SY.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / вопрос по DBA_COL_COMMENTS
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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