我有两个表,TBTC03 和 TBTC03Y,其中 TBTC03Y 有两个额外的列作为 EFFDTE 和 EXPDTE。我必须使用以下逻辑将数据从 TBTC03 合并到 TBTC03Y:
如果在 TC03Y 中找不到匹配的 TC03 条目,则
使用 TC03 数据构建新的 TC03Y 记录
,生效日期将默认为“01-01-1980”
,到期日期将默认为“09-30-1995”
我写了一个与以下内容相同的查询:
insert into TBTC03Y (LOB,MAJPERIL,LOSSCAUSE,NUMERICCL,EFFDTE,EXPDTE)
select LOB,MAJPERIL,LOSSCAUSE,NUMERICCL,'0800101' ,'0950930'
from TBTC03 where not EXISTS (select * from TBTC03Y where
TBTC03Y.LOB = TBTC03.LOB AND
TBTC03Y.MAJPERIL = TBTC03.MAJPERIL AND
TBTC03Y.LOSSCAUSE = TBTC03.LOSSCAUSE AND
TBTC03Y.NUMERICCL = TBTC03.NUMERICCL)
这两个表的主键是 LOB、MAJPERIL 和 LOSSCAUSE。
但是我有一些 TBTC03Y 记录,这些记录已经包含带有主键的数据。
触发上述查询会在某些行上提供主键约束。我无法弄清楚我该如何完成它。