Datentyp von @@identity

03/06/2008 - 11:20 von Martin Horst | Report spam
Hi,

ich dachte immer der Datentyp von @@identity hàngt von dem Datentyp der
zugehörigen Spalte ab. Ich habe hier in einer Anwendung das Problem, daß
wenn ich auf einer Bigint Spalte mit Autoincrement nach dem insert ein
@@identity aufrufe, ich ein decimal Wert erhalte. Ich bin mir allerdings
nicht sicher, ob das am SQL Server, an dem SQL Server Connector oder am
Framework (.Net) liegt. Kann man sich nicht auf den Datentyp der Spalte
verlassen!?

Danke
Martin
 

Lesen sie die antworten

#1 Tanja Dunker
03/06/2008 - 11:50 | Warnen spam
Hallo Martin!

ich dachte immer der Datentyp von @@identity hàngt von dem Datentyp der
zugehörigen Spalte ab. Ich habe hier in einer Anwendung das Problem, daß
wenn ich auf einer Bigint Spalte mit Autoincrement nach dem insert ein
@@identity aufrufe, ich ein decimal Wert erhalte. Ich bin mir allerdings
nicht sicher, ob das am SQL Server, an dem SQL Server Connector oder am
Framework (.Net) liegt. Kann man sich nicht auf den Datentyp der Spalte
verlassen!?



Entsprechend der Online-Doku ist der Rückgabetyp von @@IDENTITY
numeric(38,0).
Wenn Du sicherstellen willst, einen bestimmten Datentyp zu erhalten solltest
Du den Rückgabetyp explizit definieren (z.B: per CAST/CONVERT oder mit den
entspr. Funktionen clientseitig) bzw. einer entsprechend definierten
Variablen zuweisen (impliziter Typecast).

Gruss

Tanja

Ähnliche fragen