2010-05-06 40 views
2

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

下面是我正在运行的行。

SELECT * INTO #tempTable FROM dbo.ProductSales 

SELECT * FROM #tempTable 

DELETE FROM dbo.ProductSales 

INSERT INTO dbo.ProductSales SELECT * FROM #tempTable 

任何想法?

+1

ProductSales是否有任何计算列? – 2010-05-06 23:09:09

回答

6

如果ProductSales有一个标识或时间戳/行版本列,您将无法使用SELECT *进行插入。相反,列举跳过标识列的列:

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