3

我正在尝试对表进行批量插入(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列中的重复条目?

4

1 回答 1

1

通过“忽略重复条目”,您的意思是在 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
于 2014-01-14T18:58:26.883 回答