SET CURRENT TEMPORAL SYSTEM_TIME ステートメント

SET CURRENT TEMPORAL SYSTEM_TIME ステートメントは、CURRENT TEMPORAL SYSTEM_TIME 特殊レジスターの値を変更します。

呼び出し

このステートメントは、アプリケーション・プログラムに組み込んだり、動的 SQL ステートメントを使用して発行したりすることができます。 このステートメントは、動的に作成できる実行可能ステートメントです。

許可

必要ありません。

構文

Read syntax diagramSkip visual syntax diagramSET CURRENT TEMPORAL SYSTEM_TIME= NULLexpression

説明

NULL
NULL 値を指定します。
expression
それぞれの式には、以下のサポートされているオペランドのいずれかを組み込むことができます (SQLSTATE 428HY)。
  • 定数
  • 特殊レジスター
  • 変数 (ホスト変数、SQL 変数、SQL パラメーター、遷移変数、グローバル変数)
  • サポートされるオペランドを引数とする、組み込みスカラー関数。 このコンテキストでは、ユーザー定義関数および非決定論的な関数はサポートされません。
  • CAST 指定。ただしキャスト・オペランドが、サポートされているオペランドである場合
  • 算術演算子および算術オペランドを使用する式

  • トランザクションに関する考慮事項: SET CURRENT TEMPORAL SYSTEM_TIME ステートメントはコミット可能な操作ではありません。 ROLLBACK は CURRENT TEMPORAL SYSTEM_TIME に影響を及ぼしません。
  • 他の特殊レジスターへの影響: CURRENT TEMPORAL SYSTEM_TIME 特殊レジスターの設定は、他の特殊レジスター (特に CURRENT DATE 特殊レジスターと CURRENT TIMESTAMP 特殊レジスター) の値には影響しません。

  • 例 1: CURRENT TEMPORAL SYSTEM_TIME 特殊レジスターを前月に設定します。
       SET CURRENT TEMPORAL SYSTEM_TIME = CURRENT TIMESTAMP - 1 MONTH
    
  • 例 2: CURRENT TEMPORAL SYSTEM_TIME 特殊レジスターを NULL 値に設定します。
       SET CURRENT TEMPORAL SYSTEM_TIME = NULL