OVH Cloud OVH Cloud

@@Identity

3 réponses
Avatar
Chris
bonjour,
j'aimerai que ma procedure stockée me renvoie le dernier Identifiant
auto incrémenté lors d'un insert.

Je met return @@identity mais il me retourne 1 toujours

Comment puis je faire ?

Merci

3 réponses

Avatar
Chris
bonjour,
j'aimerai que ma procedure stockée me renvoie le dernier Identifiant
auto incrémenté lors d'un insert.

Je met return @@identity mais il me retourne 1 toujours

En fait sur SQL Serveur c ok et dans le prog en vb.Net j'ai toujours 1

Comment puis je faire ?

Merci
Avatar
zoltix
Chris wrote:
bonjour,
j'aimerai que ma procedure stockée me renvoie le dernier Identifiant
auto incrémenté lors d'un insert.

Je met return @@identity mais il me retourne 1 toujours

En fait sur SQL Serveur c ok et dans le prog en vb.Net j'ai toujours 1

Comment puis je faire ?

Merci




Je sais que c'est en anglais ............... mais voila quand meme
SELECT @@IDENTITY
This is everyone's favorite function, unchanged from earlier versions of
SQL Server. It returns the last IDENTITY value produced on a connection,
regardless of the table that produced the value, and regardless of the
scope of the statement that produced the value.

SELECT IDENT_CURRENT('tablename')
This new function returns the last IDENTITY value produced in a table,
regardless of the connection that created the value, and regardless of
the scope of the statement that produced the value.

SELECT SCOPE_IDENTITY()
This new function returns the last IDENTITY value produced on a
connection and by a statement in the same scope, regardless of the table
that produced the value.
Avatar
Fred BROUARD
Chris a écrit :
bonjour,
j'aimerai que ma procedure stockée me renvoie le dernier Identifiant
auto incrémenté lors d'un insert.

Je met return @@identity mais il me retourne 1 toujours

Comment puis je faire ?

Merci




Il faut récupérer cette valeur dans un paramètre en output ou bien la
placer dans une variable et faire un SELECT dessus.

Exemple :

CREATE PROC P1 @INS INT OUTPUT
AS

...

INSERT ...

SET @INS = @@IDENTITY

...
GO


CREATE PROC P2
AS

DECLARE @INS INT

...

INSERT ...

SET @INS = @@IDENTITY

...

SELECT @INS AS LAST_ID

GO


A +


--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************