with par as (
select nvl('&owner', user) owner -- Владелец схемы с таблицей
, '&table_name' table_name -- Таблица
from dual
)
select ddl_stmt
from (select p.owner
, p.table_name
, '' column_name
, comments
, 'comment on table "'||p.owner||'"."'||p.table_name||'" is ''' || comments ||''';' ddl_stmt
from par p
left join
all_tab_comments tc on p.owner = tc.owner and p.table_name = tc.table_name
union all
select c.owner
, c.table_name
, c.column_name
, tc.comments
, 'comment on column "'||c.owner||'"."'||c.table_name||'"."'||c.column_name||'" is ''' || comments ||''';' ddl_stmt
from (select owner, table_name, column_name
from par p natural join all_tab_columns c) c
left join
all_col_comments tc on c.owner = tc.owner and c.table_name = tc.table_name and c.column_name = tc.column_name)
order by owner, table_name, column_name nulls first
/
Полезен как заготовка в ситуациях, когда нужно создать скрипт добавления или изменения комментариев к таблице.
Читать далее
