【发布时间】:2013-10-03 04:59:35
【问题描述】:
我有一个 megre 语句,它执行以下操作:
MERGE INTO TABLE_NAME1 tgt
USING (SELECT CONTRACTOR, TRACTOR, COL1, COL2 FROM TABLE_NAME2) src
ON src.CONTRACTOR = tgt.CONTRACTOR AND src.TRACTOR = tgt.TRACTOR
这是因为承包商可以拥有多台拖拉机。未使用表键,因为它只是一个标识键 - 插入时自动编号。
当表为空时,合并运行正常,但再次运行时,它会复制 tractor 为空的行。所以我尝试了:
ON ((src.CONTRACTOR = tgt.CONTRACTOR AND src.TRACTOR = tgt.TRACTOR)
OR (src.CONTRACTOR = tgt.CONTRACTOR AND tgt.TRACTOR IS NULL))
但这会导致它挂起。 DB2 在比较 NULL 和 NULL 时是否存在问题?
【问题讨论】: