我只是从表中获取数据并将其插入到#tempTable中然后删除数据,然后将其插回到表中。我得到“插入错误:列名称或提供的值的数量与表定义不匹配”。错误。
以下是我正在运行的行。
SELECT * INTO #tempTable FROM dbo.ProductSales
SELECT * FROM #tempTable
DELETE FROM dbo.ProductSales
INSERT INTO dbo.ProductSales SELECT * FROM #tempTable
任何想法?
答案 0 :(得分:6)
如果ProductSales
具有标识或时间戳/ rowversion列,您将无法使用SELECT *
进行插入。而是枚举跳过标识列的列:
Insert ProductSales(Col1, Col2....
Select Col1, Col2...
From #tempTable