Select into avec "Identity"
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 :
Code:
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
... |
Et après je fais un truc du genre... (la structure de la table destination et temporaire est identique)
Code:
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:
1 2 3 4
|
select ..., identity(int, @i, 1) monCompteur,...
into #maTableTmp
from maTableSrc |
Citation:
Syntaxe incorrecte vers '@i'.
Evidemment si je met une valeur entière en dur cela fonctionne...
Code:
1 2 3 4
|
select ..., identity(int, 58, 1) monCompteur,...
into #maTableTmp
from maTableSrc |
8O Comprends pas !
Si vous êtes déjà tomber la dessus aidez moi SVP !!!
Merci