当前位置: 代码迷 >> SQL >> Oracle主要sql语句(持续更新)
  详细解决方案

Oracle主要sql语句(持续更新)

热度:66   发布时间:2016-05-05 13:53:53.0
Oracle重要sql语句(持续更新)

1、查询对数据库操作的所有sql语句记录

?

select   module,first_load_time,sql_text   from   v$sql   order   by   first_load_time  desc;
?

注:必须在dba账号下才可访问v$sql。

?

2、随机查询

?

SELECT * FROM (SELECT * FROM ERP_STGL ORDER BY DBMS_RANDOM.VALUE) WHERE ROWNUM <= 10
?

注:此处查询ERP_STGL表随机10条记录。

?

3、递归查询

?

select ... from tablename start with parentid is null connect by prior id = parentid where id >10;

?

(如果想加排序的话,后面添加ORDER SIBLINGS BY ...)

?

4、误操作,并且提交事务,恢复到某一时间点(救命草)

?

第一步:在v$sqlarea 这视图里面找到你操作那条SQL的时间

?

select r.FIRST_LOAD_TIME,r.* from v$sqlarea r order by r.FIRST_LOAD_TIME desc ;
?

第二步:

?

create table t_table_recove --新表asselect * from t_table --误操作的那张表as of timestamp to_timestamp('2010-06-02 11:36:53','yyyy-mm-dd hh24:mi:ss');

?

操作成功后发现t_table_recove里存放着这个时间点之前的数据,更新过来就OK了。

?

  相关解决方案