Oracle查询一个命名空间下所有表和视图的表名、字段名、字段类型、字段大小,是否可为NULL,主键和注释信息

摘要:
使用SQL查询Oracle命名空间下所有表和视图的表名、字段名、字段类型、字段大小、是否可以为NULL、主键和注释信息。SQL如下所示。注意,您需要将“CDFLOOD”替换为要查询的名称空间:selectuser_tab_cols。table_ Name表名,user_ tab_ cols。column_Name字段名,用户_选项卡_列。data_类型类型,user_ tab_ cols.data

使用SQL查询Oracle一个命名空间下所有表和视图的表名、字段名、字段类型、字段大小,是否可为NULL,主键和注释信息。

SQL如下,注意需要将'CDFLOOD'更换为您要查询的命名空间:

select 
user_tab_cols.table_name 表名,
user_tab_cols.column_name 字段名,
user_tab_cols.data_type 类型,
user_tab_cols.data_length 大小,
user_tab_cols.nullable 是否可为NULL,
CASE
WHEN tpk.COLUMN_NAME  = user_tab_cols.column_name THEN 'Y'  
ELSE 'N' END 是否主键,
user_col_comments.COMMENTS 含意
from user_tab_cols
left join (
-- 查询各表主键字段名称
select table_info.TABLE_NAME,dba_cons_columns.COLUMN_NAME from (
select table_name from user_tab_cols group by table_name order by table_name) table_info
left join dba_constraints on table_info.TABLE_NAME = dba_constraints.TABLE_NAME and dba_constraints.owner='CDFLOOD' and dba_constraints.constraint_type = 'P'
left join dba_cons_columns on dba_constraints.CONSTRAINT_NAME = dba_cons_columns.CONSTRAINT_NAME and dba_constraints.TABLE_NAME = dba_cons_columns.TABLE_NAME and dba_constraints.owner='CDFLOOD' order by TABLE_NAME) tpk on tpk.TABLE_NAME = user_tab_cols.table_name and tpk.COLUMN_NAME = user_tab_cols.column_name
-- 查询字段注释
left join user_col_comments on user_col_comments.TABLE_NAME = user_tab_cols.table_name and user_col_comments.COLUMN_NAME = user_tab_cols.column_name
order by user_tab_cols.table_name,user_tab_cols.column_id;

查询结果如下(值中,'Y'表示是,'N'表示否):

Oracle查询一个命名空间下所有表和视图的表名、字段名、字段类型、字段大小,是否可为NULL,主键和注释信息第1张

免责声明:文章转载自《Oracle查询一个命名空间下所有表和视图的表名、字段名、字段类型、字段大小,是否可为NULL,主键和注释信息》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇磁盘阵列RAID(二)——BIOS设置硬RAIDiOS开发-Runtime详解(简书)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

PL/SQL Developer导入导出Oracle数据库方法

   前一篇博客介绍了Navicat工具备份Oracle的方法。这篇博客介绍一下使用PL/SQL Developer工具导入导出Oracle数据库的方法。    PL/SQL Developer是Oracle数据库用于导入导出数据库的主要工具之中的一个,本文主要介绍利用PL/SQL导入导出Oracle数据库的过程。    1.Oracle数据库导出步骤...

oracle语句批处理

数据量有40万条,从一个对象table_01一条一条取数到对象table_02,如果用原始的 Statement Statmt =comm.createStatement(); String sql="insert into tb2...."; Statmt.executeUpdate(sql); newCon.commit();//这里是每执行一条sq...

Oracle客户端安装配置、绿色版Oracle客户端配置使用PLSQL

目录如下: 安装过程中,安装时有可能会遇到问题1,安装完成,登录测试时,有可能遇到问题2,点击查看解决方案。 1.win10系统安装oracle11g时遇到INS-13001环境不满足最低要求解决办法 2.如何解决ORA-12638:身份证明检索失败 点击setup.exe安装,选择安装类型为管理员: 其他都可以设置为默认或者自定义,当Oracle客户...

c#远程连接oracle(本地无oracle客户端)

我的操作系统是win10 x64 ,服务器oracle版本是g11 服务器上oracle做一些配置 然后更改tnsnames.ora 添加你的配置 我的例如: ddd=zkrOracle108 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.51.108)(P...

Oracle面试题(基础篇)

1. Oracle跟SQL Server 2005的区别? 宏观上: 1). 最大的区别在于平台,oracle可以运行在不同的平台上,sql server只能运行在windows平台上,由于windows平台的稳定性和安全性影响了sql server的稳定性和安全性 2). oracle使用的脚本语言为PL-SQL,而sql server使用的脚本为T-...

Oracle二三事之 EBS升级

原文转载:http://tech.it168.com/a2012/1121/1425/000001425400.shtml 对于初次执行这个过程的人而言,我们需要在规划阶段理清一些问题。许多人经历过以前的Oracle EBS升级,但是R12版本的升级与以前大不相同,需要使用一些不同的方法。 在与许多公司进行经验交流时,有一个问题总是困扰我:创建第一个可用实...