webForumDet fria alternativet

@@identity funkar inte efter trigger

8 svar · 360 visningar · startad av Jesper T

Jesper TMedlem sedan nov. 20017 144 inlägg
#1

Efter att jag lagt till en trigger på en tabell så funkar inte @@identity. Är det så bara eller har jag gjort fel?

MS Sql

@ndersMedlem sedan juni 200032 969 inlägg
#2

Använd scope_identity istället.

Läs om skillnaderna: http://www.webforum.nu/showthread.php?s=&postid=832490#post832490

mvh

Jesper TMedlem sedan nov. 20017 144 inlägg
#3

Jag testade det också:

SELECT id from tbl WHERE id = SCOPE_IDENTITY()

Är det en felaktig syntax?

@ndersMedlem sedan juni 200032 969 inlägg
#4

Det ser inte konstigt ut tycker jag. Vad får du för resultat av den?

Jesper TMedlem sedan nov. 20017 144 inlägg
#5

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

Jesper TMedlem sedan nov. 20017 144 inlägg
#6

Den verkar returnera sp:n i triggerns id.
Är det IDENT_Current jag skall använda i stället kanske?

Jesper TMedlem sedan nov. 20017 144 inlägg
#7

Visst: SELECT IDENT_Current('tbl') verkar funka.
Känns iofs lite nojjigt att lita på att det är rätt id eftersom att det verkar hämta det senaste inlagda id't och då kan det vara ett annat scope?
Eller?

LarsGMedlem sedan dec. 200012 464 inlägg
#8

Använd inte ident_current, det är scope_identity() som du skall använda (och då i samma session som din insert).

Jesper TMedlem sedan nov. 20017 144 inlägg
#9

Visst, jag hade tänkt lite fel där. Det funkar om jag lägger in det i samma veva som min insert.

297 ms totalt · 3 externa anrop · v20260731065814-full.30151723
124 ms — hämta forumlista (db)
122 ms — hämta statistik (db)
126 ms — hämta tråd, inlägg och bilagor (db)