SELECT A.TABLE_NAME 表英文名,
       A.TAB_COMMENTS 表中文名,
       A.COLUMN_ID 序号,
       A.COLUMN_NAME 英文名,
       A.COMMENTS 中文名,
       B.PRIMARY_KEY 主键,
       substr(A.DATA_TYPE,1,instr(A.DATA_TYPE,'(')-1) 数据类型,
       case when substr(A.DATA_TYPE,1,instr(A.DATA_TYPE,'(')-1) = 'TIMESTAMP' then '' when substr(A.DATA_TYPE,1,instr(A.DATA_TYPE,'(')-1) = 'DATATIME' then '' else  substr(A.DATA_TYPE,instr(A.DATA_TYPE,'(')+1,length(A.DATA_TYPE)-instr(A.DATA_TYPE,'(')-1) end 长度,
       '' 单位,
       A.NULLABLE 是否可空,
       '' 缺省,
       '' 上限,
       '' 下限
      
  FROM (SELECT X.TABLE_NAME,
               Z.COMMENTS TAB_COMMENTS,
               X.COLUMN_ID,
               X.COLUMN_NAME,
               X.DATA_TYPE ||
               DECODE(X.DATA_TYPE,
                      'NUMBER',
                      DECODE(SIGN(X.DATA_SCALE),
                             0,
                             '(' ||
                             DECODE(LENGTH(TO_CHAR(X.DATA_PRECISION)),
                                    1,
                                    TO_CHAR(X.DATA_PRECISION),
                                    TO_CHAR(X.DATA_PRECISION, 'FM00')) || ')',
                             1,
                             '(' ||
                             DECODE(LENGTH(TO_CHAR(X.DATA_PRECISION)),
                                    1,
                                    TO_CHAR(X.DATA_PRECISION),
                                    TO_CHAR(X.DATA_PRECISION, 'FM00')) || ',' ||
                             TO_CHAR(X.DATA_SCALE, 'FM0') || ')',
                             ''),
                      '(' || DECODE(LENGTH(TO_CHAR(X.DATA_LENGTH)),
                                    1,
                                    TO_CHAR(X.DATA_LENGTH),
                                    TO_CHAR(X.DATA_LENGTH, 'FM9900')) || ')') AS DATA_TYPE,
               X.NULLABLE,
               Y.COMMENTS
          FROM USER_TAB_COLUMNS X, USER_COL_COMMENTS Y, USER_TAB_COMMENTS Z
         WHERE X.TABLE_NAME = Y.TABLE_NAME
           AND X.COLUMN_NAME = Y.COLUMN_NAME
           AND X.TABLE_NAME = Z.TABLE_NAME) A,
       (SELECT X.TABLE_NAME TABLE_NAME,
               X.COLUMN_NAME COLUMN_NAME,
               MAX(DECODE(Y.CONSTRAINT_TYPE,
                          'P',
                          'PK' || TO_CHAR(X.POSITION, 'FM9'),
                          '')) PRIMARY_KEY,
               MAX(DECODE(Y.CONSTRAINT_TYPE,
                          'R',
                          'FK' || TO_CHAR(X.POSITION, 'FM9'),
                          '')) FOREIGN_KEY
          FROM USER_CONS_COLUMNS X, USER_CONSTRAINTS Y
         WHERE X.TABLE_NAME = Y.TABLE_NAME
           AND X.CONSTRAINT_NAME = Y.CONSTRAINT_NAME
           AND Y.CONSTRAINT_TYPE <> 'C'
         GROUP BY X.TABLE_NAME, X.COLUMN_NAME) B
 WHERE A.TABLE_NAME = B.TABLE_NAME(+)
   AND A.COLUMN_NAME = B.COLUMN_NAME(+)
   /*AND A.table_name = upper('tp_planmonth')*/
 ORDER BY A.TABLE_NAME, A.COLUMN_ID

Oracle查询数据库中的所有表的更多相关文章

  1. Oracle查询数据库中所有表的记录数

    1.Oracle查询数据库中所有表的记录数,但是有可能不准建议用第二种方式进行查询 select t.table_name,t.num_rows from user_tables t 2.创建orac ...

  2. SQLSERVER | 查询数据库中所有的表的名字 | 查询数据库中的所有数据库名

    SQLSERVER 1.查询某个数据库中所有的表名:  SELECT Name FROM SysObjects Where XType='U' ORDER BY Name 2.查询数据库中的所有数据库 ...

  3. oracle删除数据库中的所有表

    连接:http://linben.blog.51cto.com/6205951/1293619 1.先禁用数据库中所有的约束 select 'alter table ' || table_name | ...

  4. sqlite 查询数据库中所有的表名,判断某表是否存在,将某列所有数值去重后获得数量

    1.列出当前db文件中所有的表的表名 SQL语句:SELECT * FROM sqlite_master WHERE type='table'; 结构如下: 注:网上有人说可以带上db文件的名称,如: ...

  5. 36. Oracle查询数据库中所有表的记录数

    select t.table_name,t.num_rows from user_tables t

  6. oracle 查询数据库中 有数据的表

    select table_name from ALL_TABLES where TABLESPACE_NAME='xxx' and NUM_ROWS > 0 order by  table_na ...

  7. SQL-游标-查询数据库中的所有表的数据个数

    --sql语句-游标等使用 ) ) declare @i INT ) declare @cstucount INT --上方设置变量 --初始值 declare mCursor cursor --设置 ...

  8. SQL 中怎么查询数据库中具有的表、存储过程、试图数目、总触发器数、作业数

    用户表:select count(*) 总表数 from sysobjects where xtype='u' 刚才那个是用户表,下面这个是系统表加用户表: select count(*) 总表数 f ...

  9. MySQL查询数据库中所有数据表的数据条数

    select table_name,table_rows from information_schema.tables where TABLE_SCHEMA = '数据库名称' order by ta ...

随机推荐

  1. JavaScript中有关数字的精确计算

    问题这样的: 37.5*5.5=206.08 (JS算出来是这样的一个结果,我四舍五入取两位小数) ,我先怀疑是四舍五入的问题,就直接用JS算了一个结果为:206.08499999999998 怎么会 ...

  2. Nginx

    Nginx的常识 1.nginx三大功能:(百万级别繁忙服务器占有率) 1)web服务器 轻量级,处理的并发量更大. 2)反向代理服务器 通过将用户端的请求,透明的转送给应用服务器.这样所 有的客户端 ...

  3. MFC编程入门之二十(常用控件:静态文本框)

    上一节讲了颜色对话框之后,关于对话框的使用和各种通用对话框的介绍就到此为止了.从本节开始将讲解各种常用控件的用法.常用控件主要包括:静态文本框.编辑框.单选按钮.复选框.分组框.列表框.组合框.图片控 ...

  4. [原创] 【2014.12.02更新网盘链接】基于EasySysprep4.1的 Windows 7 x86/x64 『视频』封装

    [原创] [2014.12.02更新网盘链接]基于EasySysprep4.1的 Windows 7 x86/x64 『视频』封装 joinlidong 发表于 2014-11-29 14:25:50 ...

  5. adb命令学习

    录制屏幕操作Android4.4版本以上支持录制屏幕 adb shell screenrecord /sdcard/demo.mp4 ADB logcat 输出时间信息: adb logcat -v ...

  6. 从github拉取项目到myeclipse本地

    1.首先拿到jacky-lulu分享的地址 https://github.com/jacky-lulu1/cxf_client 2.登录jacky-lulu账号,fork一份cxf_client到自己 ...

  7. ios cordova报gap://ready 弹出框,一直弹

    The iOS app was not working because there was a plugin missing: https://github.com/apache/cordova-pl ...

  8. url的内容及格式

    url的内容及结构: url格式:

  9. Discuz! X3搬家后UCenter出现UCenter info: MySQL Query Error解决方案

    Discuz! X3 X2.5论坛搬家后 登录UCenter出现报错:UCenter info: MySQL Query ErrorSQL:SELECT value FROM [Table]vars ...

  10. AFNetworking到底做了什么?(二)

      接着上一篇的内容往下讲,如果没看过上一篇内容可以点这: AFNetworking到底做了什么? 之前我们讲到NSUrlSession代理这一块: 代理8: /* task完成之后的回调,成功和失败 ...