六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 68|回复: 0

获取表结构和字段描述的视图

[复制链接]

升级  68%

42

主题

42

主题

42

主题

秀才

Rank: 2

积分
152
 楼主| 发表于 2013-1-13 19:00:32 | 显示全部楼层 |阅读模式
CREATE OR REPLACE VIEW VW_ALL_TAB_COLS ASSELECT T1.OWNER,T1.TABLE_NAME,T1.COMMENTS,T1.COLUMN_NAME,(CASE WHEN DATA_TYPE='NUMBER' THEN (CASE WHEN DATA_SCALE=0 THEN DATA_TYPE||'('||T2.DATA_LENGTH||')' ELSE DATA_TYPE||'('||DATA_PRECISION||','||DATA_SCALE||')' END) ELSE DATA_TYPE||'('||DATA_LENGTH||')' END ) AS DATA_TYPEFROM ALL_COL_COMMENTS T1,ALL_TAB_COLS T2WHERE T1.OWNER=T2.OWNERAND T1.TABLE_NAME=T2.TABLE_NAMEAND T1.COLUMN_NAME=T2.COLUMN_NAMEAND TRIM(T1.OWNER) IN ('username')ORDER BY T2.TABLE_NAME,T2.COLUMN_ID;  desc 只可以获取到单个表的结构和描述信息,上面一个视图实现了用户下所有表的结构和comment
SELECT T1.OWNER,T1.TABLE_NAME,T1.COMMENTS,T1.COLUMN_NAME,(CASE WHEN DATA_TYPE='NUMBER' THEN (CASE WHEN DATA_SCALE=0 THEN DATA_TYPE||'('||T2.DATA_LENGTH||')' ELSE DATA_TYPE||'('||DATA_PRECISION||','||DATA_SCALE||')' END) ELSE DATA_TYPE||'('||DATA_LENGTH||')' END ) AS DATA_TYPE FROM ALL_COL_COMMENTS T1,ALL_TAB_COLS T2 WHERE T1.OWNER=T2.OWNER AND T1.TABLE_NAME=T2.TABLE_NAME AND T1.COLUMN_NAME=T2.COLUMN_NAME  and t1.table_name='***'  ORDER BY T2.TABLE_NAME,T2.COLUMN_ID,t2.owner;
 
db2 的如下:
select column_name, type_name, remarks   from "SYSIBM"."SQLCOLUMNS" where table_name=?  order by table_name;
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表