all groups > sql server programming > june 2007 >
You're in the

sql server programming

group:

Get Next Number


Get Next Number MikeB
6/11/2007 8:04:22 PM
sql server programming: I have a table called e_next_number that holds a variety of different IDs
currently in use. The columns are NumberType (nchar) and ID (int). My
question is, what is the best way to insure a inquire number is returned,
currently my stored procedure looks like this:

CREATE PROCEDURE _GetNextNumber
@NumberType nchar(10),
@NextNumber int OUTPUT
AS

SELECT @NextNumber = ID + 1 FROM e_next_number WHERE numbertype =
@NumberType
UPDATE e_next_number SET ID = @NextNumber WHERE numbertype = @NumberType

return

TIA

Re: Get Next Number Andrew J. Kelly
6/11/2007 9:49:02 PM
Add a transaction and some hints:

CREATE PROCEDURE _GetNextNumber
@NumberType nchar(10),
@NextNumber int OUTPUT
AS

SET NOCOUNT ON

BEGIN TRAN

SELECT @NextNumber = ID + 1
FROM e_next_number WITH (HOLDLOCK,XLOCK)
WHERE numbertype = @NumberType

UPDATE e_next_number SET ID = @NextNumber WHERE numbertype = @NumberType

IF @@TRANCOUNT > 0
COMMIT TRAN

return

--
Andrew J. Kelly SQL MVP

[quoted text, click to view]

Re: Get Next Number MikeB
6/12/2007 4:00:32 PM
Thanks

[quoted text, click to view]

AddThis Social Bookmark Button