Know-How
@@IDENTITY liefert kein Wert zurück
Es kommt, zumindestens bei ASP, vor dass der SQL Command
SELECT @@IDENTITY AS NewID FROM myTable
keinen Wert zurückliefert - insbesondere wenn man vorher gerade ein INSERT Statment abgesetzt hat. Eine genaue Ursache konnte ich nicht ermitteln - dafür eine Lösung. Wenn man den SQL Command mit folgenden Befehlen ergänzt wird zuverlässiger ein Wert zurückgeliefert:
SET NOCOUNT ON; [YOUR INSERT STATEMENT]; SELECT @@IDENTITY AS NewID; SET NOCOUNT OFF;
SET NOCOUNT ON verhindert das der SQL Server mitteilt wieviele Datensätze vom SQL Command betroffen sind.
Alternative
SELECT Convert(INTEGER,SCOPE_IDENTITY()) AS nID FROM myTable
Tags