我正在尝试将批量插入(SQL Server 2008)放入表中,但插入必须忽略表中已有的任何重复。
简化表格与现有值相似。
TBL_STOCK
id | Stock
---------------
1 | S1
2 | S2
3 | S3
现在我想做一个看起来像
的批量插入INSERT INTO TBL_STOCK (Id, Stock)
VALUES
(3, S3),
(4, S4),
(5, S5)
这样可行,但会导致重复的条目
如何忽略Stock
列中的重复条目?
答案 0 :(得分:0)
通过“忽略重复的条目”,你的意思是在TBL_STOCK中避免它们,对吗?
我可能会有点迟到,但您是否尝试过以下方法:
INSERT INTO #TempStock (Id, Stock) -- temporary table
VALUES
(3, S3),
(4, S4),
(5, S5)
INSERT INTO TBL_STOCK
SELECT * FROM #TempStock
WHERE NOT EXISTS (SELECT Stock FROM #TempStock WHERE #TempStock.Stock = TBL_STOCK.Stock)
DROP TABLE #TempStock