Oracle查询数据库中的所有表
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查询数据库中的所有表的更多相关文章
- Oracle查询数据库中所有表的记录数
1.Oracle查询数据库中所有表的记录数,但是有可能不准建议用第二种方式进行查询 select t.table_name,t.num_rows from user_tables t 2.创建orac ...
- SQLSERVER | 查询数据库中所有的表的名字 | 查询数据库中的所有数据库名
SQLSERVER 1.查询某个数据库中所有的表名: SELECT Name FROM SysObjects Where XType='U' ORDER BY Name 2.查询数据库中的所有数据库 ...
- oracle删除数据库中的所有表
连接:http://linben.blog.51cto.com/6205951/1293619 1.先禁用数据库中所有的约束 select 'alter table ' || table_name | ...
- sqlite 查询数据库中所有的表名,判断某表是否存在,将某列所有数值去重后获得数量
1.列出当前db文件中所有的表的表名 SQL语句:SELECT * FROM sqlite_master WHERE type='table'; 结构如下: 注:网上有人说可以带上db文件的名称,如: ...
- 36. Oracle查询数据库中所有表的记录数
select t.table_name,t.num_rows from user_tables t
- oracle 查询数据库中 有数据的表
select table_name from ALL_TABLES where TABLESPACE_NAME='xxx' and NUM_ROWS > 0 order by table_na ...
- SQL-游标-查询数据库中的所有表的数据个数
--sql语句-游标等使用 ) ) declare @i INT ) declare @cstucount INT --上方设置变量 --初始值 declare mCursor cursor --设置 ...
- SQL 中怎么查询数据库中具有的表、存储过程、试图数目、总触发器数、作业数
用户表:select count(*) 总表数 from sysobjects where xtype='u' 刚才那个是用户表,下面这个是系统表加用户表: select count(*) 总表数 f ...
- MySQL查询数据库中所有数据表的数据条数
select table_name,table_rows from information_schema.tables where TABLE_SCHEMA = '数据库名称' order by ta ...
随机推荐
- Linux下的系统调用
张雨梅 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-10000 1.linux的的用户态与内核 ...
- jq pagination分页 全选、单选的思考
$().pagination(总条数,配置项); 后端分页的跨页选择: 思路:把浏览过的页整体保存为,整体拥有 curPage(当前页码).allChoice(当前页是否全选).selected当前页 ...
- easyui 复选框 onClickRow事件与onSelect事件与onCheck事件
在项目中一直存在一个问题,一直都没发现问题的根源在哪里.在我们测试这边也是偶尔会出现.但是每次我去测试的时候也没问题.今天终于找到原因了! 在easyui中点击行和点击复选框触发的事件是不一样的! 点 ...
- ROS学习笔记(一)——软件版本的选择
下面是Google的SLAM系统Cartographer对系统的要求: Cartographer对ROS版本要求: ROS Indigo 对Ubantu 的版本要求: 所以,综上所述: Ubantu ...
- 关于如何使用Identity的文献
有几篇文件,深入浅出地讲解了如何一步一步的使用Identity,感觉十分有用,留下链接,备查. 1. Configuring Db Connection and Code-First Migratio ...
- iOS 页面间几种传值方式(属性,代理,block,单例,通知)
第二个视图控制器如何获取第一个视图控制器的部分信息 例如 :第二个界面中的lable显示第一个界面textField中的文本 这就需要用到属性传值.block传值 那么第一个视图控制器如何获的第二个视 ...
- web api+递归树型结构
using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Ne ...
- 【LeetCode】#7 Reverse Integer
[Question] Reverse digits of an integer. Example: x = 123, return 321 x = -123, return -321 [My Solu ...
- 【LeetCode】#1 Two Sum
[Question] Given an array of integers, return indices of the two numbers such that they add up to a ...
- iOS-申请邓白氏编码的超详细流程介绍
导读 11.22号要申请苹果公司开发者账号,所以当天下午申请了邓白氏编码,昨天邓白氏编码下来了,这里就做一下记录,分享给大家. 概览 11.22提交的邓白氏编码申请,11.28(礼拜一)华夏邓白氏发来 ...