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
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.
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.
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.
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 ***********************
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 ***********************
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 ***********************