Comment mettre à JOUR #temptable
CREATE TABLE #TempProducts (
Id uniqueidentifier,
ManufacturerId uniqueidentifier,
Number varchar(50),
PresentId uniqueidentifier null)
Comment mettre à JOUR PresentId champ? J'ai différentes erreurs dans ce:
1) Il existe déjà un objet nommé "#TempProducts " dans la base de données.
UPDATE #TempProducts
SET #TempProducts.PresentId = p.Id
FROM #TempProducts JOIN Products p ON (#TempProducts.ManufacturerId = p.ManufacturerId AND #TempProducts.Number = p.Number)
WHERE #TempProducts.Id <> p.Id
2) La partie multi-identificateur "t.PresentId" ne pouvait pas être lié.
UPDATE #TempProducts
SET t.PresentId = p.Id
FROM #TempProducts t JOIN Products p ON (t.ManufacturerId = p.ManufacturerId AND t.Number = p.Number)
WHERE t.Id <> p.Id
Vous devez vous connecter pour publier un commentaire.
Pour la Deuxième Erreur, s'il vous plaît essayer:
The multi-part identifier "t.PresentId" could not be bound.
pour la deuxième requête. Alors j'ai essayé avec eliast
, il a travaillé (à moins d'erreur de fait).Ce serait corrigé pour une deuxième erreur (mise à JOUR de t au lieu de la mise à JOUR #TempProducts). Cependant, il n'existe aucun moyen de la première requête pourrait produire d'erreur mentionné.
Je devine que vous êtes l'exécution de votre CRÉER des requêtes sur les tables de nouveau qui est la production de l'erreur, car temp table existe déjà.
Vous devez utiliser une case comme ceci lors de la création de tables temporaires:
Pour le problème 1:(Avant le CREATE TABLE syntaxe )
Et pour le problème 2, je pense @techdo est correct.