❤️Oracle查询表名注释及表字段注释

小明的学习圈子2023-09-25数据库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_namecharacter varying(64)列名
table_namecharacter varying(64)表名
ownercharacter varying(64)表的所有者
commentstext注释

系统视图-ALL_TAB_COMMENTS

ALL_TAB_COMMENTS视图存储当前用户可访问的所有表和视图的注释信息

名称类型描述
ownercharacter varying(64)表或视图的所有者
table_namecharacter varying(64)表或视图的名称
commentstext注释

查询所有表名注释

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语句既解决回车、换列,又解决换行问题,欢迎使用

Last Updated 2024/4/6 10:47:15