使用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查询一个用户下的所有表

    select table_name from all_tables where owner_name=upper('scott'); 用户名一定要大写//

  2. oracle查询当前用户下所有的表,包括所有的字段

    oracle查询当前用户下所有的表,包括所有的字段 背景: ​ 前两天接到一个需求,做一个展示所有表名,表备注,表数据,表字段数,点击查看按钮查看字段名和注释,支持导出. 在Oracle中,可用使用视 ...

  3. ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法

    ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法 语法 第一种: 通过使用Oracle语句块  --指定文档所有部门都能查看 declare cursor TABLE_DEPT and ...

  4. oracle查询一个数据库有几张表

    登录sys用户后通过user_tables表查看当前用户下表的张数.sql:conn / as sysdba;sql:select count(*) from user_tables ;解释:必须是登 ...

  5. Oracle查询一个表的数据插入到另一个表

    1. 新增一个表,通过另一个表的结构和数据 create table XTHAME.tab1 as select * from DSKNOW.COMBDVERSION 2. 如果表存在: insert ...

  6. Oracle查询当前用户下的所有表及sqlplus 设置 列宽

    如果oracle服务器中装有多个数据库实例,则在用户名处输入:用户名/密码@数据库名称.如果数据库服务器不在本机上,还需要加上数据库服务器的地址:用户名/密码@IP地址/数据库名称. [oracle@ ...

  7. [oracle]查询一个表中数据的插入时间

    select to_char(scn_to_timestamp(ORA_ROWSCN),'yyyy-mm-dd hh24:mi:ss') insert_time from tablename;

  8. Oracle 查询一个表的所有字段

    select * from user_tab_columns where table_name = 'T_B_CLIENT_MSG'

  9. Oracle 查询当前用户下的所有表

    select table_name from user_tables;

随机推荐

  1. Redhat7.6Linux版本下,在Oracle VM VirtualBox下hostonly下IP地址配置

    安装配置Linux的Redhat7.6教程见:https://www.cnblogs.com/xuzhaoyang/p/11264563.html 然后,配置完之后,我们开始配置IP地址,配置IP地址 ...

  2. 文件和异常——python从编程入门到实践

    从文件中读取数据 1. 读取整个文件 要读取文件,首先来创建一个文件: 然后打开并读取这个文件,再将其内容显示到屏幕上: file_reader.py with open('pi_digits.txt ...

  3. Windows 10部署教程

    1. 获取主板密钥 在powershell中执行: (Get-WmiObject -query 'select * from softwareLicensingService').OA3xOrigin ...

  4. VC6.0- C语言-winsocket-警告warning C4761

    错误介绍 操作系统:windows10 IDE:VC6.0 语言:C语言 项目内容简介:编写一个双人网络海战棋对战游戏 警告类型:警告warning C4761 integral size misma ...

  5. UI测试用例设计,场景测试法

    百度一番,没有发现详细的UI测试用例设计方法,只能自己整理一下,学习.改进. 那么正题来了,我们慢慢缕下思路: 1.整理要测实体中的,处理逻辑.触发规则.动作. 2.将场景测试抽象出来 3.到这个时候 ...

  6. java8之lambda表达式(默认方法)

    [推荐]2019 Java 开发者跳槽指南.pdf(吐血整理)>>> 许多开发语言都将函数表达式集成到了其集合库中.这样比循环方式所需的代码更少,并且更加容易理解.以下面的循环为例: ...

  7. MY SQL 两种安装方式

    MySQL基础知识-安装MySQL   前导: 昨天去参加了一个面试,公司不太大,是一家日资企业,在国内有几家分公司,面试官问到了MySQL的基本操作和性能优化,说了一大堆,倒是比较轻松的过了,但是面 ...

  8. Matlab 多项式及其函数

    多项式及其函数 多项式及其函数 Matlab用一维向量表示多项式 例:创建一个通用的一维向量转化为字符串格式的表达式 function s = pprintf(p) %pprintf 该函数可将一维向 ...

  9. C# 数组排序带索引

    想到了两种方法来实现,分别利用了List.Sort()和Dictionary.OrderBy()方法,代码如下: , , , , , , , , , }; //List.Sort() List< ...

  10. font-svg

    https://fontawesome.com/ http://www.fontawesome.com.cn/cheatsheet/ http://www.iconfont.cn/ string lj ...