Bonjour,
J'ai un problème que je ne comprends pas...
J'ai besoin d'écrire dans une table avec un compteur qui a déjà des enregistrements... jusqu'ici tout va bien !
Pour ce faire je sais que je peux utiliser un curseur mais je voudrais éviter.
Et donc voilà ce que je fais :
Et après je fais un truc du genre... (la structure de la table destination et temporaire est identique)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 declare @i int select @i = max(monCompteur) from maTable set @i = @i + 1 select ..., identity(int, @i, 1) monCompteur,... into #maTableTmp from maTableSrc ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 insert into maTable select * from #maTableTmp
Et ben... A mon grand étonnement cela ne fonctionne pas...
J'obtiens le message suivant sur la commande :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select ..., identity(int, @i, 1) monCompteur,... into #maTableTmp from maTableSrcEvidemment si je met une valeur entière en dur cela fonctionne...Syntaxe incorrecte vers '@i'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select ..., identity(int, 58, 1) monCompteur,... into #maTableTmp from maTableSrcComprends pas !
Si vous êtes déjà tomber la dessus aidez moi SVP !!!
Merci
Partager