CURRENT TEMPORAL SYSTEM_TIME 特別暫存區
CURRENT TEMPORAL SYSTEM_TIME 特別暫存區指定在系統期間時間表格參照的預設 SYSTEM_TIME 期間規格中使用的 TIMESTAMP (12) 值。
當參照系統期間時間表格,且 CURRENT TEMPORAL SYSTEM_TIME 特別暫存區的有效值由 CTST(非空值) 表示時,下列期間規格是隱含的:
FOR SYSTEM_TIME AS OF CTST使用者定義函數或程序中特別暫存器的起始值繼承自呼叫應用程式。 在其他環境定義中,特別暫存器的起始值是空值。
您可以執行 SET CURRENT TEMPORAL SYSTEM_TIME 陳述式來變更這個特別暫存器的值。
CURRENT TEMPORAL SYSTEM_TIME 特別暫存區的設定會影響下列已編譯的 SQL 物件 (當它們已連結且 SYSTIMESENSITIVE 連結選項設為 YES 時):
- SQL 程序
- 已編譯函數
- 已編譯的觸發程式
- 複合 SQL (已編譯) 陳述式
- 外部 UDF)
在下列範例中,假設表格 IN_TRAY 是系統期間時間表格。
範例 1: 根據 IN_TRAY 中截至 CURRENT TEMPORAL SYSTEM_TIME 特別暫存區所指定日期的訊息狀態,列出使用者 ID 及主旨行。
SELECT SOURCE, SUBJECT
FROM IN_TRAY假設 CURRENT TEMPORAL SYSTEM_TIME 特別暫存區先前已設為值 CURRENT TIMESTAMP-7 DAYS 且目前設為空值,則下列陳述式會傳回相同的結果。SELECT SOURCE, SUBJECT
FROM IN_TRAY
FOR SYSTEM_TIME AS OF CURRENT TEMPORAL SYSTEM_TIME範例 2: 列出在 CURRENT TEMPORAL SYSTEM_TIME 特別暫存區指定值之前傳送之 IN_TRAY 中訊息的使用者 ID 及主旨行。
SELECT SOURCE, SUBJECT
FROM IN_TRAY
WHERE RECEIVED < CURRENT TEMPORAL SYSTEM_TIME假設 CURRENT TEMPORAL SYSTEM_TIME 特別暫存區先前已設為 '2011-01-01-01-00.00.00' ,且目前設為空值,則下列陳述式會傳回相同的結果。
SELECT SOURCE, SUBJECT
FROM IN_TRAY
FOR SYSTEM_TIME AS OF '2011-01-01-00.00.00'
WHERE DATE(RECEIVED) < DATE('2011-01-01-00.00.00')