从#tempTable插入表失败

时间:2010-05-06 23:05:36

标签: sql-server select insert

我只是从表中获取数据并将其插入到#tempTable中然后删除数据,然后将其插回到表中。我得到“插入错误:列名称或提供的值的数量与表定义不匹配”。错误。

以下是我正在运行的行。

SELECT * INTO #tempTable FROM dbo.ProductSales 

SELECT * FROM #tempTable

DELETE FROM dbo.ProductSales

INSERT INTO dbo.ProductSales SELECT * FROM #tempTable

任何想法?

1 个答案:

答案 0 :(得分:6)

如果ProductSales具有标识或时间戳/ rowversion列,您将无法使用SELECT *进行插入。而是枚举跳过标识列的列:

Insert ProductSales(Col1, Col2....
Select Col1, Col2...
From #tempTable