表测试中的现有数据:(时态表)
id name valid_dt
1 cat 2012-06-16 - 9999-12-31
传入表:(时间)
id name valid_dt
1 bat 2013-12-28 - 9999-12-31
合并更新后,测试表应该有
id name valid_dt
1 cat 2012-06-16 - 2013-12-28
1 bat 2013-12-28 - 9999-12-31
如果我今天运行 Teradata 临时合并更新语句,是否有可能?
我试过的非工作代码
SEQUENCED VALIDTIME
MERGE INTO test
USING
(
sel * from incoming
) H on id=H.id
when matched then
update
set name = h.name
;
更新尝试 dnoeths 解决方案后:对于删除:
在我真正的传入表中,一些记录实际上已关闭。
所以我需要硬编码结束日期为 until_changed
非工作删除:
sequenced validtime
delete from test where (cust_id,name) in
(nonsequenced validtime
select id,name,period(begin(valid_dt),until_changed)
from incoming );