Bonjour,

Voila mon "problème"

J'ai crée une procédure stockée, mais elle ne fait pas exactement ce que je voudrais. En gros son principe est le suivante, avant de faire une insertion, je veux vérifier si un élément de meme ID est deja present dans ma table, si ce n'est pas le cas, c'est génial je peux insérer et renvoyer le dernier ID de cette table, si oui...je voudrais générer une erreur, et c'est la que je bloque.

Voila ma requete actuelle :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
CREATE  PROCEDURE MaProcedure
@CODE int,
@LIBELLE varchar(255)
 
AS
 
IF NOT EXISTS (SELECT id FROM maTable WHERE code = @CODE) 
	insert into maTable (code, libelle) values (@CODE, @LIBELLE) 
	SELECT @@IDENTITY as id
RETURN
GO
et en gros le principe que je voudrais mettre en place, si je dois l'ecrire en pseudo code, serait le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
if not exists (select) {
   Insert
   Select @@identity
} else {
   RAISERROR("ligne deja existante")
}
mais je sais pas ...la syntaxe me manque...
pourriez vous me donner un coup de main.

Merci d'avance