以下是SQL,生成的结果中是否为主键和是否可为空,是不准确的 ,没有关联相关的系统表:

select
'' as 业务源系统,
t2.TABLE_NAME 表名称,
nvl(t3.comments,'') as 表业务含义,
t2.COLUMN_NAME 字段名称,
t2.DATA_TYPE 字段类型,
case
when instr(t2.DATA_TYPE,'CHAR')>0 then 'string'
when instr(t2.DATA_TYPE,'INT')>0 then 'INT'
when instr(t2.DATA_TYPE,'NUMBER')>0 then 'decimal'
when instr(t2.DATA_TYPE,'TIMESTAMP')>0 then 'timestamp'
when instr(t2.DATA_TYPE,'DATE')>0 then 'timestamp'
when instr(t2.DATA_TYPE,'FLOAT')>0 then 'decimal'
when instr(t2.DATA_TYPE,'DOUBLE')>0 then 'decimal'
else ''
end
as hive类型,
t2.DATA_LENGTH 字段长度,
'' as 是否为主键,
'' as 可为空,
t4.comments 字段含义
from all_users t1,
all_tab_columns t2,
all_tab_comments t3,
all_col_comments t4
where t1.username not in('SYS','SYSTEM','ACCESS_LOG')
and t2.OWNER=t1.username
and t3.table_name=t2.TABLE_NAME and t3.owner=t2.OWNER
and t4.table_name=t2.TABLE_NAME and t4.owner=t2.owner and t4.column_name=t2.COLUMN_NAME
order by t1.username,t2.TABLE_NAME,t2.COLUMN_ID

以上

记工作中用到的抓取oracle表结构的sql语句的更多相关文章

  1. 导出ORACLE表结构到SQL语句(含CLOB)

      转自:http://blog.itpub.net/84738/viewspace-442854/ 先用exp导出空表 exp username/password rows=n file=expor ...

  2. DbCommandInterceptor抓取EF执行时的SQL语句

    EF6.1也出来不少日子了,6.1相比6.0有个很大的特点就是新增了System.Data.Entity.Infrastructure.Interception 命名空间,此命名空间下的对象可以允许我 ...

  3. oracle表空间相关SQL语句

    Oracle 数据库查看表空间的使用情况 SELECT d.tablespace_name, space "SUM_SPACE(MB)", ) "USED_SPACE(M ...

  4. oracle表的操作SQL语句

    这篇文章的内容包括:表的増删改查,字段的増删改查,主键.外键.唯一.非空.默认约束的増删改   查看自己用户的所有表: select * from user_tab_comments;    www. ...

  5. 抓取oracle建表语句及获取建表ddl语句

    抓取oracle建表语句及获取建表ddl语句 1.抓取代码如下: 1.1.产生表的语法资料 DECLARE-- v_notPartTable VARCHAR2(1000):= '&2'; -- ...

  6. oracle表结构和表内容差异比对

    oracle表结构和表内容差异比对 oracle中有三种集合操作,他们会把左边和右边的select 结果集进行集合操作. union 并集 intersect 交集 minus 差集 假设有如下两张表 ...

  7. 查询Oracle正在执行的sql语句

    --查询Oracle正在执行的sql语句及执行该语句的用户 SELECT b.sid oracleID, b.username 登录Oracle用户名, b.serial#, spid 操作系统ID, ...

  8. oracle 监控执行的sql语句

    oracle 监控执行的sql语句 select * from v$sqlarea a where module='PL/SQL Developer' order by a.FIRST_LOAD_TI ...

  9. oracle表结构和表内容差异比对【原】

    oracle表结构和表内容差异比对 oracle中有三种集合操作,他们会把左边和右边的select 结果集进行集合操作. union 并集 intersect 交集 minus 差集 假设有如下两张表 ...

随机推荐

  1. [Day3]Scanner类、Random类、流程控制语句

    1.Scanner类 (1)Scanner类属于引用数据类型 数据类型 变量名=new 数据类型(); (2)每种引用类型都有自己的功能 变量.功能名(); (3)Scanner类是引用数据类型的一种 ...

  2. iOS-原生纯代码约束总结(二)之 AutoLayout

    一,概述 AutoLayout相比AutoResizing更加实用,是可以完全替代AutoResizing的一种自动布局方式.而在使用AutoLayout前,我们必须理解一个属性,那就是transla ...

  3. CALayer的子类之CAShapeLayer

    一,CAShapeLayer介绍 * CAShapeLayer继承自CALayer,属于QuartzCore框架,可使用CALayer的所有属性.   CAShapeLayer是在坐标系内绘制贝塞尔曲 ...

  4. linux crypt()函数使用总结

    原型: char *crypt(const char *key, const char *salt); 标准说明: crypt()算法会接受一个最长可达8字符的密钥(即key),并施以数据加密算法(D ...

  5. java 泛型的通配符和限定

    package cn.sasa.demo1; import java.util.ArrayList; import java.util.Collection; import java.util.Ite ...

  6. Java体系基本概念

    JVM:Java虚拟机 JRE:(Java Runtime Environment)Java程序允许,测试,传输应用程序的环境和平台 包括 jvm ,java 核心类库和支持的文件,但不包含开发工具J ...

  7. Docker 架构(四)

    Docker 使用客户端-服务器 (C/S) 架构模式,使用远程 API 来管理和创建 Docker 容器. Docker 容器通过 Docker 镜像来创建. 容器与镜像的关系类似于面向对象编程中的 ...

  8. JavaScript学习(二)

    比如isNaN("100")会返回true 注意:parseInt()的参数必须以数字开头

  9. 弱网测试之基于fiddler+wanem完成

    如果不想搜集安装包,可以使用我分享的按照包,如下: WANem_3.0_Beta百度网盘下载链接:https://pan.baidu.com/s/1aMf5WBsfH7Mrl8iB2NjEYg 密码: ...

  10. 测试:fiddler使用

    Fiddler是个很强大的工具,很多新人可能不知道怎么用. 直接下载安装,然后打开电脑端的Fiddler,点击Tools > Fiddler Options,勾选上 Allow remote c ...