3

Tom Kyte はここでテンポラル テーブルについて説明します。

テンポラル テーブルは、ある時点で存在していた回答を返すことができるテーブルです。現在存在する回答ではなく、昨夜の真夜中に存在した回答を返すようにテーブルに要求できます。

そのようなテーブルは Oracle に存在しますか? それらのドキュメントが見つかりません。作成して使用するにはどうすればよいですか? 彼は、それらがデータベースに存在すると言いますが、Oracle やその他の製品に存在するとは言いません。これは実装されていない概念的なものですか?

4

1 に答える 1

6

そうですね、今よりも少し前のデータの状態を取得するつもりだと思います。この場合、Oracle は FLASHBACK QUERIES を提案します。

SQL> select * from t where x in (1,2,3);

         X          Y                                                           
---------- ----------                                                           
         1          1                                                           
         2          2                                                           
         3          3                                                           

SQL> delete from t where x in (1,2,3);

SQL> commit;

SQL> select * from t where x in (1,2,3);

No rows selected

SQL> select * from t as of timestamp(systimestamp - interval '2' minute) where x in (1,2,3)
  2  /

         X          Y                                                           
---------- ----------                                                           
         1          1                                                           
         2          2                                                           
         3          3                                                           

オラクルはこのオプションをそこで説明しています

http://docs.oracle.com/cd/B12037_01/appdev.101/b10795/adfns_fl.htm#1008580

一時テーブルの時点で - このリファレンスを参照してください:

http://docs.oracle.com/cd/B28359_01/server.111/b28310/tables003.htm#ADMIN01503

于 2014-01-15T14:24:37.873 に答える