您现在的位置是:网站首页> 编程资料编程资料
oracle获取当前用户表、字段等详细信息SQL_oracle_
2023-05-27
397人已围观
简介 oracle获取当前用户表、字段等详细信息SQL_oracle_
做个笔记,仅供参考
SELECT d.TABLE_NAME tbName,//表名 COALESCE(t.COMMENTS, ' ') tbDesc, //表注释 a.COLUMN_NAME columnName, //字段名 a.DATA_TYPE columnType, //字段类型 a.DATA_LENGTH width, //字段长度 a.DATA_SCALE precision,//字段小数位 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_columns a INNER JOIN user_tables d on a.TABLE_NAME=d.TABLE_NAME LEFT JOIN user_tab_comments t ON t.TABLE_NAME=d.TABLE_NAME LEFT JOIN user_col_comments m ON m.COLUMN_NAME=a.COLUMN_NAME AND m.TABLE_NAME=d.TABLE_NAME LEFT JOIN ( SELECT e.index_name,u.TABLE_NAME,u.COLUMN_NAME,e.uniqueness,decode(p.constraint_name,NULL,'N','Y') key from user_indexes e INNER JOIN user_ind_columns u ON e.index_name=u.index_name LEFT JOIN ( select constraint_name from user_constraints where constraint_type='P' ) p ON e.index_name=p.constraint_name ) k ON k.TABLE_NAME=a.TABLE_NAME and k.COLUMN_NAME=a.COLUMN_NAME ORDER BY tbName
备注:user_开头是当前用户,all_开头所有用户,dba_开头包括系统表
您可能感兴趣的文章:
相关内容
- Oracle 11g 新特性 Flashback Data Archive 使用实例_oracle_
- Oracle Arraysize设置对于逻辑读的影响实例分析_oracle_
- Oracle CBO优化模式中的5种索引访问方法浅析_oracle_
- Oracle中使用DBMS_XPLAN处理执行计划详解_oracle_
- Oracle中基于hint的3种执行计划控制方法详细介绍_oracle_
- Oracle中的半联结和反联结详解_oracle_
- Oracle的RBO和CBO详细介绍和优化模式设置方法_oracle_
- Oracle中使用Rownum分页详细例子_oracle_
- Oracle CBO几种基本的查询转换详解_oracle_
- Oracle 11g Dataguard参数详解_oracle_
