我之前写过一个工具,动态生成oracle的实体类的功能,但是这个工具只能用来给Searsar这个项目用,所以呢,所以意义不是特别的大,但是也可以扩展为别的实体类生成的。USER_COL_COMMENTSUSER_TAB_COLUMNS包含了表的字段和列信息。

查看当前用户的所有表

-- OWNER 当前用户名
-- table_name 表名称
SELECT * FROM DBA_TABLES WHERE OWNER='JHYG10_OLD' and table_name like '%USER%';

查询所有用户名为user的表

查看某张表的列

查看某张表里面的列信息,USER_COL_COMMENTS包含了用户的表的列信息。

select * FROM USER_COL_COMMENTS COL where  COL.TABLE_NAME = 'CM_USER'

查看某帐表列的具体信息

搞定了每个表的没个字段信息后,需要获取具体信息,就需要结合表USER_TAB_COLUMNS 了,这张表里面包含了每个字段的信息

SELECT COL.COLUMN_NAME,COL.COMMENTS,TAB.DATA_TYPE,TAB.DATA_LENGTHFROM USER_COL_COMMENTS COL, USER_TAB_COLUMNS TABWHERE COL.TABLE_NAME = 'CM_USER' -- CM_USER的表AND TAB.TABLE_NAME = COL.TABLE_NAMEAND TAB.COLUMN_NAME = COL.COLUMN_NAME

优化字段信息

由于在Oracle中,字段信息的大小,有可能和我们想要的不一样,比如如果是Number(1,2)类型的数据,就是一个小数类型的数据,但是我们直接看上去,就是一个int类型的数据,这一点是需要注意的,所以我又优化了查询的方法,对于不同了类型的进行了判断。

SELECT COL.COLUMN_NAME,COL.COMMENTS,case TAB.DATA_TYPEwhen 'NUMBER' thendecode(sign(NVL(TAB.DATA_SCALE, 0)), 0, 'NUMBER', 'FLOAT')elseTAB.DATA_TYPEend as DATA_TYPE,DECODE(TAB.DATA_TYPE,'NUMBER',TAB.DATA_PRECISION + TAB.DATA_SCALE,TAB.DATA_LENGTH) AS DATA_LENGTHFROM USER_COL_COMMENTS COL, USER_TAB_COLUMNS TABWHERE COL.TABLE_NAME = 'CMST_USER'AND TAB.TABLE_NAME = COL.TABLE_NAMEAND TAB.COLUMN_NAME = COL.COLUMN_NAME

优化后的查询结果,和上面的没啥鸟样的变化,原因是没有Number类型的数据,有了,自然就会变了。

下面演示一个带有Number类型的数据,大家可以发现优化后的数据的大小和类型才能对得上,FLOAT类型是自己加的,主要是为了直接生成代码的时候,可以区分整数和小数。

Oracle之查看当前用户的所有表和表的列-yellowcong相关推荐

  1. oracle 查出所有空表,Oracle查看某个用户上的所有空表

    Oracle查看某个用户下的所有空表 今天在群里有人问如何查看某个用户下的所有空表,有人回答是写PL/SQL SQL> DECLARE v_table tabs.table_name%TYPE; ...

  2. oracle sqlserver 查看指定用户下面的表

    一.oracle 的sql语句查看指定用户下表的数量 (KOKO提供) ---------------------------------------------------------------- ...

  3. Oracle数据库如何查看当前用户角色权限及默认表空间

    http://database.51cto.com/art/201108/280474.htm 在Oracle数据库操作中,有时候我们需要查看当前用户的一些信息,包括用户拥有的角色权限信息.用户表空间 ...

  4. oracle 如何查看当前用户的表空间名称

    如何查询当前用户的表空间名称?因为oracle建立索引,需要知道当前用户的表空间,查找了一下资料 --查询语法--select default_tablespace from dba_users wh ...

  5. oracle如何查看数据安全用户,oracle用户安全管理

    oracle的用户安全 作为dba一定要保证数据库的安全,备份是要时刻准备的,个人觉得数据库就好比一个座楼 ,要想最好的的保护楼,,最好是整个楼没有窗户和门等入口,我可以限制进入大楼的人, 对可以进入 ...

  6. oracle如何查看实例用户,oracle 如何显示当前执行的用户和操作实例

    今天参加了OCP的培训听老师讲了一个关于oracle的小技巧,感觉还是很有用的就记录下来. 这个在官网文档里面也有大家感兴趣也可以去查看一下,官网文件里面是精确到时间的. 在我们日常工作中使用sqlp ...

  7. oracle sql 表个数,【oracleSQL】查看当前用户各个表的记录数

    [oracle]查看当前用户各个表的记录数 因没有dba权限,当前用户下查看全部表名,只能通过user_tables视图访问.https://www.cndba.cn/debimeng/article ...

  8. oracle 其他用户表主键,Oracle中查看所有的表,用户表,列名,主键,外键

    在Oracle中查看所有的表: select * from tab/dba_tables/dba_objects/cat; 看用户建立的表 : select table_name from user_ ...

  9. Oracle常用数据字典表 Oracle常用数据字典表 查看当前用户的缺省表空间

    Oracle常用数据字典表 Oracle常用数据字典表 查看当前用户的缺省表空间 SQL>select username,default_tablespace from user_users; ...

最新文章

  1. Oracle:彻底结束会话 ,彻底解锁
  2. python爬虫可以干什么-Python 爬虫一 简介
  3. 满二叉树各种节点数目的计算
  4. Django之路--第一篇
  5. 创建QT项目时只有.pro文件,源文件和头文件
  6. java集合框架03
  7. ReentrantLock 的实现原理
  8. 分布式架构--基本思想汇总
  9. Nutanix,在转型的道路上越走越远 | 人物志
  10. 打蚊子表情包_一拳超人:埼玉明显是动真格,蚊子为何能躲开埼玉的攻击?
  11. JavaScript之基础-9 JavaScript String(内置对象、String概述、字符串常用操作、模式匹配)...
  12. Anroid开发中常用快捷键
  13. 【Java6学习笔记】多线程编程中使用volatile保障原子性
  14. WebDriver下载地址
  15. 神奇的 ViewDragHelper,让你轻松定制拥有拖拽能力的 ViewGroup
  16. 【唐老狮】C#——转义字符
  17. MATLAB中nargin和nargout的妙用
  18. 重学设计模式 - Facade模式
  19. 做了五年Android,我顿悟了...
  20. Azure基础:什么是云计算(2) NIST云计算模型定义

热门文章

  1. 基于JAVA餐厅座位预约系统设计与实现 开题报告
  2. 楚留香服务器维护时间,《楚留香:一梦江湖》11月20日维护更新公告
  3. tidb-lightning的使用
  4. wukong-robot 自然语言处理对话
  5. 16进制颜色代码对照表 .
  6. python爬取新闻网站内容findall函数爬取_【Python】【爬虫】爬取网易、腾讯、新浪、搜狐新闻到本地...
  7. RS-SLAM A Robust Semantic SLAM in Dynamic Environments Based on RGB-D Sensor
  8. iphone android换机助手下载,安卓苹果换机助手
  9. netbeans 代码对齐_加快开发速度:NetBeans代码模板,AutoHotKey和Ditto
  10. 单元测试与 Mock 方法