oracle 查询某个用户下的表名、表注释、字段名和注释的代码
select t.table_nameas 表名称,c1.comments as 表备注,c2.column_name as 字段名称,c2.data_type as 字段类型,c2.data_length as 字段长度,c3.comments as 字段备注from-- 查询指定用户下的表名称(select table_name from all_all_tables where owner
·
SELECT RS.表名称,
RS.表备注,
RS.字段名称,
RS.字段类型,
CASE WHEN 字段类型 NOT IN ( 'NUMBER' , 'DATE') THEN RS.数据长度/2
ELSE RS.数据长度 END AS 字段长度,
RS.整数位,
RS.DATA_SCALE,
RS.字段备注
FROM
(
SELECT T.TABLE_NAME AS 表名称,
C1.COMMENTS AS 表备注,
C2.COLUMN_NAME AS 字段名称,
C2.DATA_TYPE AS 字段类型,
-- C2.DATA_LENGTH AS 字段长度,
C2.数据长度,
C2.整数位,
C2.DATA_SCALE,
C3.COMMENTS AS 字段备注
FROM
-- 查询指定用户下的表名称
(SELECT TABLE_NAME FROM ALL_ALL_TABLES WHERE OWNER = 'GDBDCKXK') T
LEFT JOIN
-- 查询指定用户下的表注释
(SELECT TABLE_NAME ,
COMMENTS
FROM ALL_TAB_COMMENTS -- 表注释
WHERE OWNER = 'GDBDCKXK'
) C1 ON T.TABLE_NAME = C1.TABLE_NAME
LEFT JOIN
-- 查询指定用户下的表字段名称
(
SELECT TABLE_NAME ,
COLUMN_NAME,
DATA_TYPE,
DATA_LENGTH,
DATA_LENGTH AS 数据长度,
DATA_PRECISION AS 整数位 ,
DATA_SCALE
FROM ALL_TAB_COLUMNS WHERE OWNER = 'GDBDCKXK'
)C2 ON T.TABLE_NAME = C2.TABLE_NAME
LEFT JOIN
-- 查询指定用户下的字段注释
(
SELECT TABLE_NAME ,
COLUMN_NAME ,
COMMENTS -- 字段注释
FROM ALL_COL_COMMENTS
WHERE OWNER = 'GDBDCKXK'
) C3
ON T.TABLE_NAME = C3.TABLE_NAME
AND C2.COLUMN_NAME = C3.COLUMN_NAME
ORDER BY T.TABLE_NAME
) RS
WHERE RS.表名称 = 'QL_TDSYQ'
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)