2010-10-28 5 views

Répondre

8
SELECT IDENT_CURRENT('MyTable') 

Voir BOL

+0

Excellent, je savais qu'il devait y avoir un moyen de le faire. Merci :) –

1
select @@identity 

pourrait fonctionner,

il y a aussi

SELECT SCOPE_IDENTITY() 
+0

pourquoi -1? ....... parfaitement valide – Orbit

+2

Je suppose que le downvote, parce que cela renvoie l'identité de la ligne que vous venez d'insérer. Je n'insère aucune ligne, mais j'ai besoin de connaître la valeur d'identité actuelle de la table –

+2

Ceci n'est pas correct. @@ identity peut être pour n'importe quelle table. Voir http://msdn.microsoft.com/en-us/library/aa933167(SQL.80).aspx. ** @@ IDENTITY et SCOPE_IDENTITY renverront la dernière valeur d'identité générée dans n'importe quelle table de la session en cours. ** –

5
SELECT IDENT_CURRENT('TABLE_NAME') 

renvoie NULL s'il n'y a aucune identité définie dans le tableau

Questions connexes