Flashback query لعمل استعلام في الماضي

وهي ميزة جديدة في اوركل  من اول 9i و 10g ، وهي تتيح لك عمل استعلام من قاعدة البيانات من تاريخ سايق ، على سبيل المثال تريد الاستعلام من جدول معين ولاكن ليس من البيانات الحالية يل التي كانت موجودة قبل نصف ساعة من الان ، وحسب حد علمي فهي غير موجودة في اي قاعدة بيانات غير اوراكل ،،، واترككم مع المثال التالي اللذي يوضح ذلك :

اولا نقوم بتشغيل خاصية time في sql*plus
SQL> set time on

ولنقم بالاستعلام في جدول emp عن الموضف scott
13:48:01 SQL> select * from scott.emp where empno=7788;



     EMPNO ENAME      JOB              MGR HIREDATE               SAL         DEPTNO

---------- ---------- --------- ---------- --------------- ---------- ---------- 

      7788 SCOTT      ANALYST         7566 19-APR-87             3000               20


الان نقوم بأي عملية تحديث للبيانات 
13:48:24 SQL>  update scott.emp

13:48:36             2   set sal=1000 where empno=7788;



1 row updated.



13:48:36 SQL>  select * from scott.emp where empno=7788;



      EMPNO ENAME      JOB              MGR HIREDATE               SAL        DEPTNO

---------- ---------- --------- ---------- --------------- ---------- ---------- --

      7788 SCOTT      ANALYST         7566 19-APR-87            1000                20 

والان نقوم بعملية الاستعلام في الوقت اللذي يسبق عملية التحديث update
13:54:31 SQL> 1   select * from scott.emp as of timestamp

 13:54:38   2   to_timestamp('2004-11-24 13:48:24','yyyy-mm-dd hh24:mi:ss')

 13:54:44   3* where empno=7788



     EMPNO ENAME      JOB              MGR HIREDATE               SAL       DEPTNO

---------- ---------- --------- ---------- --------------- ---------- ---------- -

      7788 SCOTT      ANALYST         7566 19-APR-87             3000             20

تعليقات