我有桌子:
ID (identity, PK), TaskNr, OfferNr
我想插入忽略语句,但遗憾的是它没有在MSSQL上工作,因此有一个IGNORE_DUP开关。但我需要使用TaskNr列检查重复项。有没有机会这样做?
编辑:
示例数据:
ID (identity, PK), TaskNr, OfferNr
1 BP1234 XAS
2 BD123 JFRT
3 1122AH JDA33
4 22345_a MD_3
尝试做:
insert ignore into Sample_table (TaskNr, OfferNr) values (BP1234, DFD,)
应忽略该行并转到insert语句的下一个值。 ID是自动增量的,但应使用TaskNr列检查唯一值。
答案 0 :(得分:1)
您可以尝试两种选择:
答案 1 :(得分:1)
SQL Server不支持insert ignore
。那是MySQL的功能。
你可以做你想做的事:
insert ignore into Sample_table (TaskNr, OfferNr)
select x.TaskNr, x.OfferNr
from (select 'BP1234' as TaskNr, 'DFD' as OfferNr) x
where not exists (select 1
from Sample_Table st
where st.TaskNr = x.TaskNr and st.OfferNr = x.OfferNr
);