oracle获取当前用户表、字段等详细信息SQL
做个笔记,仅供参考
SELECT d.TABLE_NAMEtbName,//表名 COALESCE(t.COMMENTS,'')tbDesc,//表注释 a.COLUMN_NAMEcolumnName,//字段名 a.DATA_TYPEcolumnType,//字段类型 a.DATA_LENGTHwidth,//字段长度 a.DATA_SCALEprecision,//字段小数位 decode(a.NULLABLE,'Y','0','1')notNull,//是否允许空 COALESCE(m.COMMENTS,'')comments,//字段备注 decode(k.uniqueness,'UNIQUE','1','0')uniques,//是否唯一 COALESCE(k.index_name,'')indexName,//如果是索引,索引名 decode(k.key,'Y','1','0')masterKey//是否主键 FROM user_tab_columnsa INNERJOINuser_tablesdona.TABLE_NAME=d.TABLE_NAME LEFTJOINuser_tab_commentstONt.TABLE_NAME=d.TABLE_NAME LEFTJOINuser_col_commentsmONm.COLUMN_NAME=a.COLUMN_NAMEANDm.TABLE_NAME=d.TABLE_NAME LEFTJOIN ( SELECTe.index_name,u.TABLE_NAME,u.COLUMN_NAME,e.uniqueness,decode(p.constraint_name,NULL,'N','Y')key fromuser_indexeseINNERJOINuser_ind_columnsuONe.index_name=u.index_name LEFTJOIN(selectconstraint_namefromuser_constraintswhereconstraint_type='P')pONe.index_name=p.constraint_name )kONk.TABLE_NAME=a.TABLE_NAMEandk.COLUMN_NAME=a.COLUMN_NAME ORDERBYtbName
备注:user_开头是当前用户,all_开头所有用户,dba_开头包括系统表