Recuperer un champ output dans Procedure
Bonjour, je suis en trainde developper des procedures stockées dont 2 qui s'appelent ensemble.
Voici la premiere : SAVE_CLIENT
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
CREATE PROCEDURE [SAVE_CLIENT] (
@pPER_ID bigint OUTPUT,
@pPER_NOM varchar(50),
@pPER_PRENOM varchar(50),
@pPER_EMAIL varchar(50),
@pPER_PASSWORD varchar(50),
@pPER_TELEPHONE varchar(15),
@pPER_MOBILE varchar(15),
@pPER_DELETED bit
)AS
BEGIN
DECLARE @myCount bigint;
--Execution de la procedure stockee
EXEC SAVE_PERSONNE @pPER_ID, @pPER_NOM, @pPER_PRENOM, @pPER_EMAIL, @pPER_PASSWORD, @pPER_TELEPHONE, @pPER_MOBILE, @pPER_DELETED
-- Comptage
SELECT @myCount = count(PER_ID) FROM CLIENT WHERE PER_ID = @pPER_ID;
IF @myCount is null OR @myCount=0
BEGIN
INSERT INTO CLIENT ([PER_ID]) VALUES (@pPER_ID);
SET @pPER_ID = @@IDENTITY;
END
END
GO |
la procedure appelée SAVE_PERSONNE
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
CREATE PROCEDURE [SAVE_PERSONNE] (
@pPER_ID bigint OUTPUT,
@pPER_NOM varchar(50),
@pPER_PRENOM varchar(50),
@pPER_EMAIL varchar(50),
@pPER_PASSWORD varchar(50),
@pPER_TELEPHONE varchar(15),
@pPER_MOBILE varchar(15),
@pPER_DELETED bit
)AS
BEGIN
DECLARE @myCount bigint;
-- Comptage
SELECT @myCount = count(PER_ID) FROM PERSONNE WHERE PER_ID = @pPER_ID;
IF NOT @myCount is null AND @myCount<>0
BEGIN
UPDATE PERSONNE SET
PER_NOM = @pPER_NOM,
PER_PRENOM = @pPER_PRENOM,
PER_EMAIL = @pPER_EMAIL,
PER_PASSWORD = @pPER_PASSWORD,
PER_TELEPHONE = @pPER_TELEPHONE,
PER_MOBILE = @pPER_MOBILE,
PER_DELETED = @pPER_DELETED
WHERE PER_ID = @pPER_ID;
END
ELSE
BEGIN
INSERT INTO PERSONNE ([PER_NOM], [PER_PRENOM], [PER_EMAIL], [PER_PASSWORD],
[PER_TELEPHONE], [PER_MOBILE], [PER_DELETED]) VALUES
(@pPER_NOM, @pPER_PRENOM, @pPER_EMAIL, @pPER_PASSWORD, @pPER_TELEPHONE,
@pPER_MOBILE, @pPER_DELETED);
SET @pPER_ID = @@IDENTITY;
END
END
GO |
quand j'appelle ma procedure SAVE_CLIENT, je lui passe null en id afin de lui dire qu'il doit faire un insert. seulement il insert bien dans personne mais je recupere pas l'id qui vient d'etre genere pour l'inscrire dans la table CLIENT.
pourriez vous m'aider svp !
Merci
bien cordialement,