Doesn't @@Identity get you the last ID created regardless of scope or table?


-----Original Message-----
From: Mark A Kruger [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, August 17, 2005 10:41 AM
To: CF-Talk
Subject: RE: @@Identity returns excessive records

Dan,

Simple.... You don't need the "from tblArActivtyNote"

Change it to this:

INSERT INTO tblArActivityNote (patientID,UserID,note) VALUES(238,1,'Letter 2
printed & mailed for DOS(s)' + ' 01/19/04')

SELECT @@IDENTITY as ID

go


Your code would be analogous to saying:

select 'Mark' as myName FROM users

Such a query would always return the same number of rows as "select *" -
with a single column (myName) populated with "Mark".


Rember if you are inserting to multiple tables in the same block use the
scope_identity().

Here's a blog entry with some tips on it.

http://mkruger.cfwebtools.com/index.cfm?mode=alias&alias=identity%20after%20
insert


-Mark


-----Original Message-----
From: Dan O'Keefe [mailto:[EMAIL PROTECTED]
Sent: Wednesday, August 17, 2005 9:12 AM
To: CF-Talk
Subject: Re: @@Identity returns excessive records


If I copy and paste my tSQL into query analyzer:

INSERT INTO tblArActivityNote (patientID,UserID,note) VALUES(238,1,'Letter 2
printed & mailed for DOS(s)' + ' 01/19/04') go select @@IDENTITY as ID from
tblArActivityNote go

My PK-IdentityID column in tblAractivityNote is AractivityNoteID. If the
insert created a AractivityNoteID= 295256, the select @@identity returns
295256 rows with the same value, 295256.

Weird, huh?

On 8/17/05, Mark A Kruger <[EMAIL PROTECTED]> wrote:
> Dan,
>
> Please explain "When I run it manually in ISQLW, I get the identity 
> key,
but
> I get the same key in as many rows as there are in the table, which is 
> 295K + rows." .... you mean you get back the same number regardless of 
> the number of inserts?
>
> -mark
>
>
> -----Original Message-----
> From: Dan O'Keefe [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, August 17, 2005 8:57 AM
> To: CF-Talk
> Subject: @@Identity returns excessive records
>
>
> I have an insert query, select the @@identity, and then insert into 
> another table. Common scenario, but all of  a sudden, after a dozen or 
> so iterations, it just starts to die. I found it is dying getting the 
> identity. When I run it manually in ISQLW, I get the identity key, but 
> I get the same key in as many rows as there are in the table, which is 
> 295K + rows.
>
> The identity column is my primary key for the table and there are no 
> triggers on this table. SCOPE_IDENTITY() returns the same results.
>
> Any ideas?
> Dan
>
>
>
>





~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
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:215422
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=89.70.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

Reply via email to