16.20 - INSERT (ANSI System-Timeテーブル フォーム) - Teradata Vantage NewSQL Engine

Teradata Vantage™ ANSIテンポラル テーブル サポート

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1186-162K-JPN

目的

ANSI system-timeテーブルに新しい行を追加します。

構文

テンポラル テーブルに行を挿入するための特別なテンポラル構文はありません。標準のSQL INSERT文を使用します。ただし、次の点に注意してください。

  • system-time派生期間列を構成する開始境界列と終了境界列の値を含める必要があります。
  • system-time列に入力された値はTeradata Databaseにより自動的に置き換えられるため、どのタイプのどんな値でも使用できます。開始system-time列の値は、挿入時にTEMPORAL_TIMESTAMP関数の値に置き換えられ、終了system-time値は自動的に最大システム タイムスタンプ値(9999-12-31 12:59:59.999999+00:00)に置き換えられます。
  • Teradata Databaseのどのタイプの派生期間列でも、派生期間列自体のPeriodタイプ値を挿入することはできません。

例: ANSI System-Timeテーブルへの行の挿入

INSERT INTO employee_system_time VALUES 
 (1001,'Sania',111,TIMESTAMP'2002-01-01 00:00:00.000000+00:00',                    TIMESTAMP'2002-07-01 12:00:00.350000+00:00');
INSERT INTO employee_systime VALUES 
 (1001,'Fred',222, TIMESTAMP'2002-07-01 12:00:00.350000+00:00',                    UNTIL_CLOSED);
INSERT INTO employee_systime VALUES (1002,'Ash',333,123,456);
INSERT INTO employee_systime VALUES (1003,'SRK',111,,’nothing');
INSERT INTO employee_systime VALUES(1003,'Alice',222,’Wonder',NULL);

INSERT文でsystem-time期間を構成する開始列と終了列の値を提供する必要がありますが、これらの値はTeradata Databaseによって自動的に置き換えられます。開始時間値は、挿入時にTEMPORAL_TIMESTAMP関数の値によって置き換えられます。終了時間値は、最大システムTIMESTAMP(6) WITH TIME ZONE値(9999-12-31 23:59:59.999999+00:00)で置き換えられます。