@@identity dans procédure stockée
Bonsoir,
j'ai la procédure stockée suivante :
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
|
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 |
lorsque je fais select @iduserExt = @@identity;
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 :-)