例: 更新のPAが行のPV内にあるANSI Valid-TimeテーブルのUPDATE - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/kit1592007446534.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1186
Product Category
Software
Teradata Vantage

更新のPVが行のPA内にある場合、重複する間有効な行情報の部分のみが更新され、変更の前後に存在した行の部分は別の行としてテーブルに残ります。Fredが2005年に会社での自分の仕事を減らす必要があり、その間の契約期間を変更することに同意すると仮定します。

UPDATE employee_vt
FOR PORTION OF job_dur FROM DATE'2005-01-01' TO DATE'2006-01-01'
SET terms='TW10'
WHERE ename='Fred';

SELECT * FROM employee_vt WHERE ename=’Fred’;

 eid ename term    job_start     job_end
---- ----- ----- ----------- -----------
1004 Fred  TW10   2005/01/01  2006/01/01
1004 Fred  PW12   2001/05/01  2005/01/01
1004 Fred  PW12   2006/01/01  9999/12/31

この場合、テーブルでUPDATEの前にはFredの行は1行で、UPDATEの後には3行になります。この3行で期間PW12で始まり、2005年に始まる1年間にTW10に変化し、2006年にPW12に戻るFredの雇用期間を追跡しています。

これは、1つのvalid-timeテーブルに対して実行された1つのvalid-time UPDATEであったため、新しい行の作成および各行のvalid-timeの調整作業はすべてデータベースによって自動的に処理されました。