Bonjour,

J'essai dans la requete ci-dessous de recuperer la valeur maximum d'un identifiant (idVille) afin de pouvoir inserer une nouvelle ville avec un ID incrémenté de +1.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
BEGIN TRANSACTION insertion_ville
	DECLARE @id INT
	DECLARE @error INT
             DECLARE @libelleVille VARCHAR(50)
 
	SET @error = 0
             SET @libelleVille = 'Lyon'
 
	SELECT INTO @id MAX(idVille) FROM dbo.Ville --le pb est dans cette ligne
 
	IF @id = NULL
		SET @id = 0
	ELSE 
		SET @id = @id +1
 
	INSERT INTO dbo.Ville VALUES (@id,@libelleVille)
	SET @error = @error + @@error
 
	IF @id = NULL OR @error <> 0
		ROLLBACK TRANSACTION insertion_ville
	ELSE
		COMMIT TRANSACTION insertion_ville
Et j'obtient l'erreur suivante :
Msg*156, Niveau*15, État*1, Ligne*7
Syntaxe incorrecte vers le mot clé 'INTO'.
Ou est mon erreur ? La syntaxe est-elle bonne ?

Merci