Oracle恢复删除数据 && connect by 树形结构查询

1、一个表中根据以父子级别关系查询显示出来(如图)

select t.* from department t CONNECT BY PRIOR t.depid=t.supdepid ; --这样也可以,但查出来的结果会有重复
select t.* from department t start with supdepid=0 CONNECT BY PRIOR t.depid=t.supdepid ;--这样就不会了
select t.*  from department t  start with supdepid=0 and t.depname like '%部%'  CONNECT BY PRIOR t.depid=t.supdepid ; --加上其他条件查询


其中 connect by 是树形查询中的一个子句。

 

2、显示指定时间的数据库数据

 

如果你在之前误删了数据信息,但又没有备份,你只需加上要查找的条件,

执行下面的语句,就可以找回误删的信息了

 

 

 

--显示一个小时之前的表数据信息

  select * from department as of timestamp sysdate-(1/(24));

--显示90分钟之前的表数据信息

  select *  from department as of timestamp (systimestamp - interval '90' minute)

 

先把查询删除之前的制定数据sql语句导出(不是所有的数据可以根据条件查询导出),然后再把这些语句在数据库中执行一遍即可

 

 

--锁定表格(锁定后,其他人修改表格就会是排队等待状态)

select * from emoloyee for update;

 

 

 

 

posted @ 2014-03-28 10:55  莫名字  阅读(336)  评论(0编辑  收藏  举报