导出ORACLE表、字段、注释
2016-01-18 17:11
691 查看
先搜索了下,在原来基础上改改后用的,不知道为何有乱码,还有些会重复,不过把这个问题绕过去了...
,可以用
先把原来的贴出来:
select ATC.OWNER,
atC.TABLE_NAME,
ATC.COLUMN_NAME,
utc.comments,
ATC.DATA_TYPE,
ATC.DATA_LENGTH,
ATC.NULLABLE,
ucc.comments
from
(select ATC.OWNER,
atC.TABLE_NAME,
ATC.COLUMN_NAME,
ATC.DATA_TYPE,
ATC.DATA_LENGTH,
ATC.NULLABLE
from all_tab_columns ATC
where ATC.owner ='USER' ) atc
left outer join all_col_comments ucc
on atc.table_name=ucc.table_name and
atc.column_name=ucc.column_name
left outer join all_tab_comments utc
on atc.table_name=utc.table_name
order by atc.table_name,atc.column_name这里有个user,,查询哪个用户的表,就替换成哪个。
下面是我改之后的,就是在原来的基础上加了个条件,导出那些表的字段注释,另外拼成了可执行的sql,这样直接查询出来就可以执行了。
select c.a from (
select 'comment on column '|| atC.TABLE_NAME || '.' || ATC.COLUMN_NAME || ' is ' || '#@#' || ucc.comments || '#@#' || ';' a
from
(select ATC.OWNER,
atC.TABLE_NAME,
ATC.COLUMN_NAME,
ATC.DATA_TYPE,
ATC.DATA_LENGTH,
ATC.NULLABLE
from all_tab_columns ATC
where ATC.owner ='TERM' ) atc
left outer join all_col_comments ucc
on atc.table_name=ucc.table_name and
atc.column_name=ucc.column_name
left outer join all_tab_comments utc
on atc.table_name=utc.table_name
where ucc.comments is not null and atc.TABLE_NAME in(select a from acd_test)
order by atc.table_name,atc.column_name) c
group by c.a
having c.a not like '%??%'
,可以用
先把原来的贴出来:
select ATC.OWNER,
atC.TABLE_NAME,
ATC.COLUMN_NAME,
utc.comments,
ATC.DATA_TYPE,
ATC.DATA_LENGTH,
ATC.NULLABLE,
ucc.comments
from
(select ATC.OWNER,
atC.TABLE_NAME,
ATC.COLUMN_NAME,
ATC.DATA_TYPE,
ATC.DATA_LENGTH,
ATC.NULLABLE
from all_tab_columns ATC
where ATC.owner ='USER' ) atc
left outer join all_col_comments ucc
on atc.table_name=ucc.table_name and
atc.column_name=ucc.column_name
left outer join all_tab_comments utc
on atc.table_name=utc.table_name
order by atc.table_name,atc.column_name这里有个user,,查询哪个用户的表,就替换成哪个。
下面是我改之后的,就是在原来的基础上加了个条件,导出那些表的字段注释,另外拼成了可执行的sql,这样直接查询出来就可以执行了。
select c.a from (
select 'comment on column '|| atC.TABLE_NAME || '.' || ATC.COLUMN_NAME || ' is ' || '#@#' || ucc.comments || '#@#' || ';' a
from
(select ATC.OWNER,
atC.TABLE_NAME,
ATC.COLUMN_NAME,
ATC.DATA_TYPE,
ATC.DATA_LENGTH,
ATC.NULLABLE
from all_tab_columns ATC
where ATC.owner ='TERM' ) atc
left outer join all_col_comments ucc
on atc.table_name=ucc.table_name and
atc.column_name=ucc.column_name
left outer join all_tab_comments utc
on atc.table_name=utc.table_name
where ucc.comments is not null and atc.TABLE_NAME in(select a from acd_test)
order by atc.table_name,atc.column_name) c
group by c.a
having c.a not like '%??%'
相关文章推荐
- ORACLE 安装Oracle12遇到的问题
- oracle pl/sql 分隔逗号
- oracle这个语句是什么意思?SET DEFINE OFF;
- Oracle 递归查询
- Oracle 11g 编译使用BBED
- 配置Oracle Gateway 12连接到SQL server 2014
- Oracle 日常巡检
- oracle数据库密码过期问题
- java python oracle推断字符串是否为数字的函数
- oracle创建表空间,用户步骤
- oracle中trim,ltrim,rtrim函数用法
- oracle优化脚本
- Oracle汉字乱码问题原因及解决方法
- Oracle 数据泵详解
- PL/SQL IDE登录Oracle与隧道连接配置
- PL/SQL连接Linux服务器Oracle遇到的问题总结
- oracle添加拼接函数
- oracle中大字符串拼接函数
- Oracle 树操作(select…start with…connect by…prior)
- oracle11g数据库操作