Bonjour, je suis en trainde developper des procedures stockées dont 2 qui s'appelent ensemble.
Voici la premiere : SAVE_CLIENT
la procedure appelée SAVE_PERSONNE
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
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
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.
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
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
pourriez vous m'aider svp !
Merci
bien cordialement,
Partager