❤️Oracle查询表名注释及表字段注释
Oracle查询表名注释及表字段注释
例子查询数据库字段和属性
SELECT REPLACE
(
REPLACE ( REPLACE ( A.COMMENTS, chr ( 13 ), '' ), chr ( 10 ), '' ),
chr ( 9 ),
''
) COMMENTS,
A.COLUMN_NAME,
B.DATA_TYPE
FROM
ALL_COL_COMMENTS A,
all_tab_columns B
WHERE
A.table_name = 'TGA_COMPANY_INFO'
AND A.table_name = B.table_name
AND A.COLUMN_NAME = B.COLUMN_NAME;
系统视图-ALL_COL_COMMENTS
ALL_COL_COMMENTS视图存储当前用户可访问的表中字段的注释信息。
| 名称 | 类型 | 描述 |
|---|---|---|
| column_name | character varying(64) | 列名 |
| table_name | character varying(64) | 表名 |
| owner | character varying(64) | 表的所有者 |
| comments | text | 注释 |
系统视图-ALL_TAB_COMMENTS
ALL_TAB_COMMENTS视图存储当前用户可访问的所有表和视图的注释信息
| 名称 | 类型 | 描述 |
|---|---|---|
| owner | character varying(64) | 表或视图的所有者 |
| table_name | character varying(64) | 表或视图的名称 |
| comments | text | 注释 |
查询所有表名注释
select * from user_tab_comments;
查询指定用户下某张表的表名注释
select * from user_tab_comments where table_name='TABLE_NAME' and owner = 'OWNER_NAME';
查询所有表字段注释
select * from all_col_comments;
查询指定用户下某张表的表字段注释
select * from all_col_comments where table_name='TABLE_NAME' and owner = 'OWNER_NAME';
也可以从系统视图USER_COL_COMMENTS、USER_TAB_COMMENTS中进行查询
可以将查询结果拼接为可执行sql,方便从一个库中查询所需注释后,直接更新到另一个库中
表字段注释拼接
select
'comment on column '|| table_name ||'.'||column_name||' is '||''''||comments||''';'
from all_col_comments where table_name='TABLE_NAME' and owner = 'OWNER_NAME';
表名注释拼接
select
'comment on table '|| table_name ||' is '||''''||comments||''';'
from all_tab_comments where table_name='TABLE_NAME' and owner = 'OWNER_NAME';
解决数据库数据粘贴到excel中换行、换列问题
chr(9)换列(制表符)
chr(10)换行
chr(13)回车
如果大家将查出来的中文数据粘贴到excel中分析时,遇到此问题,可以用下面的方法解决:
replace(字段名,chr(13)||chr(10)||chr(9),'') 注意:此方法无法解决数据库中一条数据既有换行,回车和换列的问题。
正确使用写法:
select replace(replace(replace(字段名, chr(13),''),chr(10), ''), chr(9), '') from 表名;(根据需要可加入筛选条件;)
此sql语句既解决回车、换列,又解决换行问题,欢迎使用
