我想确保我没有在我的表中插入重复的行(例如,只有主键不同)。我所有的字段都允许null,因为我已经决定null表示“所有值”。由于存在空值,我的存储过程中的以下语句无法工作:
IF EXISTS(SELECT * FROM MY_TABLE WHERE
MY_FIELD1 = @IN_MY_FIELD1 AND
MY_FIELD2 = @IN_MY_FIELD2 AND
MY_FIELD3 = @IN_MY_FIELD3 AND
MY_FIELD4 = @IN_MY_FIELD4 AND
MY_FIELD5 = @IN_MY_FIELD5 AND
MY_FIELD6 = @IN_MY_FIELD6)
BEGIN
goto on_duplicate
END
因为NULL = NULL不是真的。
如果不对每一列都使用IF IS NULL语句,我如何检查重复项?
https://stackoverflow.com/questions/1075142
复制相似问题