oracle查询表结构语句

select o.table_name, tmp.comments, o.COLUMN_NAME, t.comments, o.DATA_TYPE
|| CASE TRIM(o.DATA_TYPE)
WHEN ‘DATE‘ THEN
‘‘
WHEN ‘NUMBER‘ THEN
case when o.DATA_PRECISION is not null then
‘(‘ || o.DATA_PRECISION || ‘,‘ || o.DATA_SCALE || ‘)‘
else ‘‘ end
WHEN ‘CHAR‘ THEN
‘(‘ || o.DATA_LENGTH || ‘)‘
WHEN ‘VARCHAR2‘ THEN
‘(‘ || o.DATA_LENGTH || ‘)‘
END AS DATA_TYPE,
o.NULLABLE,
o.SEGMENT_COLUMN_ID,
const.COLUMN_NAME,
case when const.COLUMN_NAME is null then ‘N‘ else ‘Y‘ end as PI
from user_tab_cols o
inner join user_col_comments t on (t.table_name=o.TABLE_NAME and t.column_name=o.COLUMN_NAME)
left join (select t.table_name, c.comments
from user_tables t
left join user_tab_comments c
on t.TABLE_NAME = c.table_name) tmp
on o.TABLE_NAME = tmp.table_name
left join (select cs.table_name,cs.column_name from user_cons_columns cs,
user_constraints uc
where cs.constraint_name=uc.constraint_name
and uc.constraint_type=‘P‘
) const
on (o.COLUMN_NAME=const.column_name and o.table_name=const.table_name)
where o.table_name in (‘TEST1‘)
order by o.table_name , o.SEGMENT_COLUMN_ID

原文地址:https://www.cnblogs.com/qinjf/p/8343683.html

时间: 2024-07-29 04:26:13

oracle查询表结构语句的相关文章

Oracle 查询表结构

--查询字段名称,字段类型,字段注释 SELECT DD.*, EE.CONSTRAINT_TYPE FROM (SELECT T.COLUMN_ID, T.COLUMN_NAME, (CASE WHEN (T.DATA_TYPE = 'VARCHAR2' OR T.DATA_TYPE = 'RAW') THEN T.DATA_TYPE || '(' || T.DATA_LENGTH || ')' WHEN (T.DATA_TYPE = 'NUMBER' AND T.DATA_PRECISION

SQL语句查询表结构

SQL语句查询表结构 刚刚在做一个小项目,数据库中一张表有20来个字段,用我以前做的一个.NET实体类生成器一个一个的输入还是闲麻烦,于是打算找个时间来重新的改造一个那个.NET实体类,能够通过选择的数据库及用户表自动生成实体类,而且该实体类还有注释,即字段的说明字段,然后再加一个功能,生成数据库文档,其实也就是把字段字,类型,字段说明输出一个漂亮的表格而已,只要能获取出来生成HTML表格就比较容易了,上网找了一下,得到如下有用的SQL语句: -- 查询非系统数据库 Select name FR

<经验杂谈>查询表结构的SQL语句

在我们使用SQL数据库的过程中,经常会遇到查询表结构的情况,以下就是sql语句的写法: --查询非系统数据库 SELECT name FROM Master..SysDatabases WHERE dbid > 4 查询数据库下所有表 SELECT name FROM sysobjects WHERE xtype = 'U' OR xtype = 'S' 查询所有用户表 SELECT name FROM sysobjects WHERE xtype = 'U' AND OBJECTPROPERT

oracle常用SQL语句(汇总版)

Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象 一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……); INSERT INTO 表名(字段名1, 字段名2, ……) SELECT (字段名1, 字段名2, ……) FROM 另外的表名; 字符串类型的字段值必须用单引号括起来, 例如: ’GOOD DAY’ 如果字段值里包含单引号’ 需要

oracle 基本查询语句及实例

1.查询所有列 select * from 表名: 2.查询表结构 desc 表名: 3.查询指定列 select ename,sal,job from 表名: 4.oracle中查看所有表和字段 获取表: select table_name from user_tables; //当前用户的表 select table_name from all_tables; //所有用户的表 select table_name from dba_tables; //包括系统表 select table_n

Oracle 动态SQL语句

Oracle 动态SQL语句 (2012-06-18 16:36:12) 转载▼ 标签: oracle it   EXECUTE IMMEDIATE代替了以前Oracle8i中DBMS_SQLpackage包. 它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前,EXECUTEIMMEDIATE的目标在于减小企业费用并获得较高的性能,较之以前它相当容易编码.尽管DBMS_SQL仍然可用,但是推荐使用EXECUTEIMMEDIATE,因为它获的收益在包

Oracle之sql语句优化

项目中虽然使用了orm映射,但Oracle系统的优化还是很有价值的,这里从sql语句的角度对常用的语句做下总结. 1.from字段中的优化: Oracle安照从右到左的顺序加载表数据,应该把可以排除数据最多的表放到后面(基础表). 比如,在关联查询中,把课程表放到后面,成绩表放到前面,因为课程表数据一般比较少,关联的时候可以快速的过滤掉一些成绩数据. 2.where中的优化: 对可以过滤数据最多的,放到后面,原理也是Oracle执行从下到上(从右到左)的顺序. 3.使用列名替代*: 省去从字典表

【Oracle】常用语句集合

1 oracle常用经典SQL查询 2 常用SQL查询: 3 4 1.查看表空间的名称及大小 5 6 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size 7 from dba_tablespaces t, dba_data_files d 8 where t.tablespace_name = d.tablespace_name 9 group by t.tablespace_name; 10 11 2.查看表空间物

[精]Oracle 内存结构详解

内存结构 现代计算机中,CPU 对内存的访问速度要比从磁盘的速度快千倍,因此 Oracle 对于数据的访问 也尽量都在内存中完成,而不是直接修改硬盘上的数据.内存内容在合适的时候再同步到磁盘. Oracle 利用内存来克服磁盘 IO的束缚,在内存中进行活动越多,系统性能越好,反之,在磁盘上进 行的操作越多,系统性能越差.(原文地址:http://blog.sunansheng.com/2016/04/29/oracle-memory/) Oracle 是一个内存消耗大户,它消耗的内存可以分成两部