Stored Procedures [dbo].[ujo_get_id]
Properties
PropertyValue
ANSI Nulls OnYes
Quoted Identifier OnYes
Parameters
NameData TypeMax Length (Bytes)
@idint4
@fldvarchar(30)30
Permissions
TypeActionOwning Principal
GrantExecuteujoadmin
SQL Script
/****** Object:  Stored Procedure dbo.ujo_get_id    Script Date: 12/1/2005 11:49:49 PM ******/
create proc  ujo_get_id
    @id  int,
    @fld varchar(30)
AS

if @id = 0
begin
    begin tran
    set transaction isolation level SERIALIZABLE
    UPDATE ujo_next_oid set oid=oid+1 where field=@fld
    SELECT oid-1 from ujo_next_oid WHERE field = @fld
    commit tran
    return -999 /*SUCCESS*/
end

UPDATE ujo_next_oid set oid = @id+1 WHERE field=@fld AND oid < @id+1

SELECT @id

return -999 /*SUCCESS*/
GO
GRANT EXECUTE ON  [dbo].[ujo_get_id] TO [ujoadmin]
GO
Uses