If you are on SQL Server 2000 you can use the SCOPE_IDENTITY() function 
which will work independant of Triggers and other transactions on the same 
table.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_sa-ses_6n8p.asp

I've switched all of my code to use this function instead of @@IDENTITY.  Of 
course, this locks me into using SQL Server 2000, but I don't see that 
changing anytime soon...

Cheers,

Jeff Garza

----- Original Message ----- 
From: "Rick Root" <[EMAIL PROTECTED]>
To: "CF-Talk" <cf-talk@houseoffusion.com>
Sent: Monday, January 31, 2005 12:08 PM
Subject: Re: EASY: grabbing the id of a newly created item..


> Barney Boisvert wrote:
>> That's a horrible way to do it.  Quite inefficient.
>>
>> A better route is to check your DB's docs and see how they expose the
>> last inserted sequence value.  In MySQL it's LAST_INSERT_ID(), with MS
>> SQL Server its one of three @IDENTITY variables.  Run your INSERT, and
>> then select the value back out using this mechanism.  You may or may
>> not need a transaction, depending on the specifics, and you definitely
>> won't need CFLOCK.
>
> That's only reliable inside a transaction.  Don't leave that part out.
>
>  - Rick
>
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Logware (www.logware.us): a new and convenient web-based time tracking 
application. Start tracking and documenting hours spent on a project or with a 
client with Logware today. Try it for free with a 15 day trial account.
http://www.houseoffusion.com/banners/view.cfm?bannerid=67

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:192392
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

Reply via email to