Oracle之查看当前用户的所有表和表的列-yellowcong
我之前写过一个工具,动态生成oracle的实体类的功能,但是这个工具只能用来给Searsar这个项目用,所以呢,所以意义不是特别的大,但是也可以扩展为别的实体类生成的。
USER_COL_COMMENTS
和USER_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相关推荐
- oracle 查出所有空表,Oracle查看某个用户上的所有空表
Oracle查看某个用户下的所有空表 今天在群里有人问如何查看某个用户下的所有空表,有人回答是写PL/SQL SQL> DECLARE v_table tabs.table_name%TYPE; ...
- oracle sqlserver 查看指定用户下面的表
一.oracle 的sql语句查看指定用户下表的数量 (KOKO提供) ---------------------------------------------------------------- ...
- Oracle数据库如何查看当前用户角色权限及默认表空间
http://database.51cto.com/art/201108/280474.htm 在Oracle数据库操作中,有时候我们需要查看当前用户的一些信息,包括用户拥有的角色权限信息.用户表空间 ...
- oracle 如何查看当前用户的表空间名称
如何查询当前用户的表空间名称?因为oracle建立索引,需要知道当前用户的表空间,查找了一下资料 --查询语法--select default_tablespace from dba_users wh ...
- oracle如何查看数据安全用户,oracle用户安全管理
oracle的用户安全 作为dba一定要保证数据库的安全,备份是要时刻准备的,个人觉得数据库就好比一个座楼 ,要想最好的的保护楼,,最好是整个楼没有窗户和门等入口,我可以限制进入大楼的人, 对可以进入 ...
- oracle如何查看实例用户,oracle 如何显示当前执行的用户和操作实例
今天参加了OCP的培训听老师讲了一个关于oracle的小技巧,感觉还是很有用的就记录下来. 这个在官网文档里面也有大家感兴趣也可以去查看一下,官网文件里面是精确到时间的. 在我们日常工作中使用sqlp ...
- oracle sql 表个数,【oracleSQL】查看当前用户各个表的记录数
[oracle]查看当前用户各个表的记录数 因没有dba权限,当前用户下查看全部表名,只能通过user_tables视图访问.https://www.cndba.cn/debimeng/article ...
- oracle 其他用户表主键,Oracle中查看所有的表,用户表,列名,主键,外键
在Oracle中查看所有的表: select * from tab/dba_tables/dba_objects/cat; 看用户建立的表 : select table_name from user_ ...
- Oracle常用数据字典表 Oracle常用数据字典表 查看当前用户的缺省表空间
Oracle常用数据字典表 Oracle常用数据字典表 查看当前用户的缺省表空间 SQL>select username,default_tablespace from user_users; ...
最新文章
- Oracle:彻底结束会话 ,彻底解锁
- python爬虫可以干什么-Python 爬虫一 简介
- 满二叉树各种节点数目的计算
- Django之路--第一篇
- 创建QT项目时只有.pro文件,源文件和头文件
- java集合框架03
- ReentrantLock 的实现原理
- 分布式架构--基本思想汇总
- Nutanix,在转型的道路上越走越远 | 人物志
- 打蚊子表情包_一拳超人:埼玉明显是动真格,蚊子为何能躲开埼玉的攻击?
- JavaScript之基础-9 JavaScript String(内置对象、String概述、字符串常用操作、模式匹配)...
- Anroid开发中常用快捷键
- 【Java6学习笔记】多线程编程中使用volatile保障原子性
- WebDriver下载地址
- 神奇的 ViewDragHelper,让你轻松定制拥有拖拽能力的 ViewGroup
- 【唐老狮】C#——转义字符
- MATLAB中nargin和nargout的妙用
- 重学设计模式 - Facade模式
- 做了五年Android,我顿悟了...
- Azure基础:什么是云计算(2) NIST云计算模型定义
热门文章
- 基于JAVA餐厅座位预约系统设计与实现 开题报告
- 楚留香服务器维护时间,《楚留香:一梦江湖》11月20日维护更新公告
- tidb-lightning的使用
- wukong-robot 自然语言处理对话
- 16进制颜色代码对照表 .
- python爬取新闻网站内容findall函数爬取_【Python】【爬虫】爬取网易、腾讯、新浪、搜狐新闻到本地...
- RS-SLAM A Robust Semantic SLAM in Dynamic Environments Based on RGB-D Sensor
- iphone android换机助手下载,安卓苹果换机助手
- netbeans 代码对齐_加快开发速度:NetBeans代码模板,AutoHotKey和Ditto
- 单元测试与 Mock 方法