Bonsoir,
j'ai la procédure stockée suivante :
lorsque je fais select @iduserExt = @@identity;
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 set ANSI_NULLS ON set QUOTED_IDENTIFIER ON GO ALTER PROCEDURE CREATEINVIT @email varchar(50), @idstatut int, @idcompte int AS BEGIN SET NOCOUNT ON; if(select count(idcompte) from compte where email= @email) =0 BEGIN declare @iduserExt int; insert into USEREXT(email) values(@email); select @iduserExt = @@identity; insert into temp(IDUSEREXT,IDSTATUT) values(@iduserExt,@idstatut); END END
Est ce que je suis absolument certain de récupérer l'identifiant de l'insertion juste avant, ou bien il est possible qu'entre l'insertion et le select, une autre insertion se soit faite entre temps, et que du coup je ne récupère pas le bon id ? J'ai vu qu'on pouvaut aussi utiliser @@SCOPEIDENTITY, mais je ne suis pas sur d'avoir bien compris.
Merci de vos eclaircissements :-)
Partager