CREATE Procedure get_free_id
/* Param List */
(
@id INT OUTPUT,
@rt INT OUTPUT
)
AS
DECLARE @temp INT
DECLARE @count INT
SET @rt = 0
SET @count = 1

SELECT TOP 1 @temp=Id  FROM tb_free_id WHERE lock = 0
        IF @temp IS NOT NULL
BEGIN
UPDATE tb_free_id SET lock = 1 WHERE id = @temp

SET @id = @temp
SET @rt = 1
END
ELSE
SET @rt = -1GO