Procédures stockées Output
Bonjour,
Voilà, j'ai une procédure stockée avec un output qui devrait me renvoyer 0 s'il existe sinon l'ID nouvellement inséré:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| ALTER PROCEDURE [dbo].[InsertAnnonceur]
@Responsable varchar(250),
@email varchar(250),
@Annonceur_id BIGINT OUTPUT
AS
BEGIN
SET NOCOUNT ON;
IF (SELECT COUNT(*) FROM dbo.annonceurs WHERE email=@email) > 0
BEGIN
SELECT @Annonceur_id = 0;
END
ELSE
INSERT INTO dbo.annonceurs(Responsable,Email)
VALUES
(@responsable,@Email);
SELECT @Annonceur_id = @@IDENTITY;
END |
Malheureusement quand je l'éxecute :
Code:
1 2 3 4 5
| DECLARE @Retour BigINt;
exec dbo.InsertAnnonceur @Responsable = 'test',@email='test@sda.sdq',@Annonceur_id=@Retour OUTPUT;
PRINT @Retour; |
J'ai bien mon nouvel ID si l'email n'est pas présent, en revanche, s'il est présent je reçois l'ID de la ligne.
Sauriez vous pourquoi?
D'avance merci!!