http://www.cnblogs.com/weiyi1314/p/6813325.html…
这两天老大让我再oracle中把要替换的表被其他对象引用之处找出来,整理一份表,接到这个任务,我是一脸懵逼,怎么找?大海捞针么?问同事.查资料,自己研究,最后整理一下仅供大家参考,同时以备将来回顾.本篇只涉及表被其他数据库对象引用,不涉及外键,想寻找外键的,自己查看下面附有的链接. 首先有下列几种方式: 1.plsql工具 : 点击工具,找到 查找数据库对象 最后进入到查找页面 最后根据页面把要查找的 表对象或者关键词填入 文本查找   里,再在对象条件里 选择自己要筛选的条件即可筛选.但是此方…
Oracle中查询当前数据库中的所有表空间和对应的数据文件语句命令 ----------------------------------------------------------------------------------------- 1.在cmd中输入sqlplus,弹出命令行窗体 2.输入口令和密码 3.SQL>col file_name for a60; 4.SQL>set linesize 160; 5.SQL>select file_name,tablespace_…
关于Oracle中查询的数字值的显示格式需要保留小数点后两位(或者三位,及其... 方法一:使用to_char的fm格式,即: to_char(round(data.amount,2),'FM9999999999999999.00') as amount 不足之处是,如果数值是0的话,会显示为.00而不是0.00. 另一需要注意的是,格式中小数点左边9的个数要够多,否则查询的数字会显示为n个符号“#”. 解决方式如下: select decode(salary,0,'0.00',(to_char…
应用场景:将数据表TB_USER中字段NNDP的内容中为[sannanyinv]转换为[3男1女] 主要脚本:一个游标脚本+分割字符串函数+拼音转数字脚本 操作步骤如下: 1.创建类型 create or replace type splitTable is table of varchar2(100); 2.创建函数fn_splitString(功能是将字符串分割成多条记录)--测试语句select * from table(fn_splitString('ernanyinv','nan'))…
恢复oracle中误删除drop掉的表   查看回收站中表 --需要在其所在用户下查询 回收站对象 select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recyclebin; 恢复表 SQL>flashback table test_drop to before drop;或SQL>flashback table "BIN$b+XkkO1RS5K10uKo9Bfmu…
ORACLE中如何找出大表分布在哪些数据文件中?   在ORACLE数据中,我们能否找出一个大表的段对象分布在哪些数据文件中呢? 答案是可以,我们可以用下面脚本来找出对应表的区.段分别位于哪些数据文件中 SET PAGESIZE 60; COL SEGMENT_TYPE FOR A12; COL FILE_NAME FOR A64; COL SEGMENT_NAME FOR A24; COL TABLESPACE_NAME FOR A24; COL SEGMENT_OWNER FOR A12;…
起因: 系统测试的时候发现如果某条记录已经被引用了,这个时候删除这条记录会引起数据不一致,系统会报错.比如警员信息,在考勤记录表里会引用警员ID,如果考勤记录表中已经存在这个警员ID了,这时从警员表中删除该警员,就会引起数据不一致,前台报错.所以,这个时候我就想查找数据库中所有引用这个ID的表 一:约束类型简介 约束用于确保数据库数据满足特定的商业逻辑或者企业规则,如果定义了约束,并且数据不符 合约束,那么DML操作(INSERT.UPDATE.DELETE)将不能成功执行.约束包括NOT NU…
ORACLE EBS操作某一个FORM界面,或者后台数据库操作某一个表时发现一直出于"假死"状态,可能是该表被某一用户锁定,导致其他用户无法继续操作 --锁表查询SQLSELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$session s WHERE l.object_id = o.object_id AND l.session_id = s.sid; 找到被锁…
转载:Oracle中把一个查询结果插入到一张表中 以下是信息留存: 一.Oracle数据库中,把一张表的查询结果直接生成并导入一张新表中. 例如:现有只有A表,查询A表,并且把结果导入B表中.使用如下SQL语句: create table b as select * from a 二.Oracle数据库中支持把查询结果导入到另外一张表中. 例如:有两个表A和B 1)如果两个表的表结构是否相同,但要插入的字段类型相同:      I 把A表的全部字段数据插入到B表中: insert into B…
在工作中,有时,我们会用到oracle分页查询.这时,就需要先了解oracle的rownum.rowmun是oracle的伪列,只能用符号(<.<=.!=),而不能用这些符号(>,>=,=,between...and)比如我们要查询prpdriskconfig表,这条sql:select * from prpdriskconfig where configcode='UndwrtCollectFlow'总共有58条数据,我们现在只想要前50条数据,这是就需要用到rownum了. )…
不多说,直接上干货 1.查询当前用户下表的创建语句 select dbms_metadata.get_ddl('TABLE','ux_future') from dual; 2.查询其他用户下表的创建语句 select dbms_metadata.get_ddl('TABLE','ux_future','Admin') from dual; 3.查询表的index select index_name,index_type,table_name from user_indexes where ta…
Oracle中的一些查询语句及其执行顺序 原文地址:https://www.cnblogs.com/likeju/p/5039115.html 查询条件: 1)LIKE:模糊查询,需要借助两个通配符,%:表示0到多个字符:_:标识单个字符. 2)IN(list):用来取出符合列表范围中的数据. 3)NOT IN(list): 取出不符合此列表中的数据记录. 4)BETWEEN…AND…:用来查询符合某个值域范围条件的数据,最常见的是使用在数字类型的数据范围上,但对字符类型和日期类型数据也同样适用…
转载自http://blog.csdn.net/cuker919/article/details/8514253 select segment_name, bytes as 大小 from user_segments where segment_type = 'TABLE' and segment_name in ('VIEW_JLZDH_MP_DL_DAY_01','VIEW_JLZDH_MP_DL_DAY_02','VIEW_JLZDH_MP_DL_DAY_03', 'VIEW_JLZDH_…
--查看当前库中的所有表select * from all_tables a where a.table_name='INFOCODE_P20081'--查看表结构select * from all_tab_columns where table_name='INFOCODE_P20081'--查看触发器.过程.函数select * from user_source;select COUNT(*) from user_source WHERE TYPE='PROCEDURE';select *…
oracle我们查询当前系统时间的时候,经常用到dual,这个是什么东西呢? -- 查询系统时间 结果:2018/04/17 15:00:48 -- select sysdate from dual; -- 字符串转日期格式 结果: 2018/04/16 -- select to_date('2018-04-16','yyyy-MM-dd HH24:mi:ss') from dual; -- 日期转字符串格式 结果:2018-04-17 15:01:11-- select to_char(sys…
有两种含义的表大小.一种是分配给一个表的物理空间数量,而不管空间是否被使用.可以这样查询获得字节数: select segment_name, bytes from user_segments where segment_type = 'TABLE'; 或者   Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name 另一种表实际使用的空间.这样查询: analyze table emp c…
1.对返回的行无任何限定条件,即没有where子句 2.未对数据表与任何索引主列相对应的行限定条件例如:在City-State-Zip列创建了三列复合索引,那么仅对State列限定条件不能使用这个索引,因为State不是索引的主列. 3.对索引的主列有限定条件,但是在条件表达式里使用以下表达式则会使索引失效,造成全表扫描:(1)where子句中对字段进行函数.表达式操作,这将导致引擎放弃使用索引而进行全表扫描,Demo:where upper(city)='TokYo' 或 City || 'X…
1.rowid是一个伪列,是用来确保表中行的唯一性,它并不能指示出行的物理位置,但可以用来定位行. 2.rowid是存储在索引中的一组既定的值(当行确定后).我们可以像表中普通的列一样将它选出来. 3.利用rowid是访问表中一行的最快方式. 4.rowid需要10个字节来存储,显示为18位的字符串. rowid的组成结构为: data object number(6位字符串) relative file number(3位字符串) block number(6位字符串) row number(…
从一月至今,我总共归纳了三种创建千万级大表的方案,它们是: 下面是这三种方案的对比表格: # 名称 地址 主要机制 速度 1 在Oracle中十分钟内创建一张千万级别的表 https://www.cnblogs.com/xiandedanteng/p/12169527.html connect by+Insert into select 由于插入量是线性增长的,导致速度在前三种方案里最慢 2 25分钟创建一千六百万大表全记录 https://www.cnblogs.com/xiandedante…
Oracle中如何获取系统当前时间 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;  ORACLE里获取一个时间的年.季.月.周.日的函数 select  to_char(sysdate, 'yyyy' )  from dual; --年  select  to_char(sysdate, 'MM' )  from dual; --月 select  to_char(sysdate, 'dd' )  from dual; --…
先分析表 select 'analyze table '||table_name||' compute statistics;' from user_tables; 把查询结果依次执行 把所有表分析一遍 然后user_tables中就会刷新表的信息 ; 查出行数为0的表信息.…
一次看到某张表中有几条ID相同的数据,通过业务确认该ID应该是唯一的,后来找到原因,因为DBA未对该表建主键. 现在DBA工作比较忙,我们项目有时需要新增或者修改数据库表结构时,可能需要对表结构进行确认.下面提供几个比较有用对SQL,可以帮助大家看看数据库 中表结构定义怎样的,以PRODUCT表为例,请自行更换为所需的表名. 1.查询主键: ----*********查询主键------------ select col.* from user_constraints con,user_cons…
转自:https://my.oschina.net/u/3783799/blog/2870207 1.oracle 查询当前用户下的表名,表注释 select t.table_name, f.comments  from user_tables t inner join user_tab_comments f    on t.table_name = f.table_name 2.oracle 查询某表的所有字段,字段注释,字段类型 SELECT a.TABLE_NAME, a.COLUMN_N…
1.查询所有表的外键的: select table_name, constraint_name from user_constraints where constraint_type = 'R';   2.禁用所有外键约束, 使用下面的sql生成对应sql脚本: select 'alter table ' || table_name || ' disable constraint ' || constraint_name || ';' from user_constraints where co…
查询表的所有列及其属性:select t.*,c.COMMENTS from user_tab_columns t,user_col_comments c where t.table_name = c.table_name and t.column_name = c.column_name and t.table_name = women;查找表的主键:select cu.* from user_cons_columns cu, user_constraints au where cu.cons…
1. 查某一用户下的表select SEGMENT_NAME,TABLESPACE_NAME,sum(BYTES/1024/1024)||'M' from USER_extents where SEGMENT_TYPE='TABLE'group by SEGMENT_NAME,TABLESPACE_NAME 2.查所有的表select SEGMENT_NAME,TABLESPACE_NAME,sum(BYTES/1024/1024)||'M' from dba_extents where SEG…
create table EGMAS_COUNT_DATA(TIMES       date not null, COUNT NUMBER(30) not null, SYSTEM_NAME VARCHAR2(30) not null, Operation_index VARCHAR2(30) not null);-- Add comments to the columns comment on column EGMAS_COUNT_DATA.TIMES is '日期';comment on c…
查看回收站中表 select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recyclebin; 恢复表 SQL>flashback table test_drop to before drop;或SQL>flashback table "BIN$b+XkkO1RS5K10uKo9BfmuA==$0" to before drop; 注:必须9i或10g以上版本…
今天在做关于Oracle查询语句的练习时,碰到这么一个题目:找出EMP表中姓名(ENAME)第三个字母是A的员工姓名.我的Scott.emp表的现有数据如下: SQL> select * from emp; EMPNO     ENAME   JOB          MGR     HIREDATE         SAL   COMM   DEPTNO---------- ---------- --------- ---------- -------------- ---------- --…