Oracle自动生成数据字典的SQL语句

来源:互联网 发布:vc编程没看到图形界面 编辑:程序博客网 时间:2024/05/10 21:51

读取Oracle表字段名字,类型(含长度),注释等信息的SQL语句:

select col.COLUMN_NAME, com.Comments, col.DATA_TYPE, col.DATA_LENGTH
from sys.all_tab_columns col,
     sys.all_col_comments com
where col.owner = '用户名'
and col.table_name = '表名'
and com.Owner (+) = '用户名'
and com.Table_Name (+) = '表名'
and com.Column_Name (+) = col.Column_Name
order by col.column_id

如果你想自动生成数据字典,可以先用以下语句获得所有表名,再循环执行上面的语句,就可以生成数据字典了:

SELECT A.*,B.comments
FROM all_tab_columns A,DBA_COL_COMMENTS B
WHERE A.owner=B.owner
AND A.table_name=B.table_name
AND A.COLUMN_NAME=B.COLUMN_NAME
AND A.owner='用户名';

也可以一次过读出该用户所有表的字段信息:

SELECT A.table_name,A.COLUMN_NAME,A.DATA_TYPE,
a.DATA_LENGTH,a.DATA_PRECISION,
a.DATA_SCALE,a.NULLABLE,a.DATA_DEFAULT,B.comments
FROM all_tab_columns A,DBA_COL_COMMENTS B
WHERE A.owner=B.owner
AND A.table_name=B.table_name
AND A.COLUMN_NAME=B.COLUMN_NAME
AND A.owner='用户名'
ORDER BY A.table_name;

原创粉丝点击