2010-05-06 7 views
2

Je prends simplement les données d'une table et l'insère dans #tempTable puis supprime les données, et l'insère à la table. Je reçois "Erreur d'insertion: le nom de la colonne ou le nombre de valeurs fournies ne correspond pas à la définition de la table." Erreur.Insertion dans la table de #tempTable échoue

Voici les lignes que je cours.

SELECT * INTO #tempTable FROM dbo.ProductSales 

SELECT * FROM #tempTable 

DELETE FROM dbo.ProductSales 

INSERT INTO dbo.ProductSales SELECT * FROM #tempTable 

Une idée?

+1

Est-ce que ProductSales a des colonnes calculées? –

Répondre

6

Si ProductSales a une identité ou horodatage/colonne rowversion vous ne serez pas en mesure d'utiliser SELECT * pour faire un insert. Au lieu de cela, énumérer les colonnes en ignorant la colonne d'identité:

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