34 lines
845 B
Plaintext
34 lines
845 B
Plaintext
CREATE PROCEDURE [dbo].[sp_LockFree]
|
|
@UserId INT = NULL
|
|
,@UserName NVARCHAR(50) = NULL
|
|
,@ItemId BIGINT = NULL
|
|
,@CategoryId INT
|
|
,@errorNumber INT OUTPUT
|
|
,@errorMessage NVARCHAR(250) OUTPUT
|
|
AS
|
|
BEGIN
|
|
SET @errorNumber = 0
|
|
SET @errorMessage = space(0)
|
|
|
|
IF(@UserId) IS NULL
|
|
BEGIN
|
|
IF NOT EXISTS( SELECT ID FROM Users WHERE UserName=@UserName)
|
|
BEGIN
|
|
SET @errorNumber = 2
|
|
SET @errorMessage = 'User not found'
|
|
return -1
|
|
END
|
|
END
|
|
|
|
IF NOT EXISTS( SELECT LockId FROM LockedItems WHERE CategoryId=@CategoryId AND ItemId=@ItemId)
|
|
BEGIN
|
|
SET @errorNumber = 3
|
|
SET @errorMessage = 'No lock to free'
|
|
return -1
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
DECLARE @UpdateTime DateTime
|
|
DELETE from LockedItems WHERE CategoryId=@CategoryId AND ItemId=@ItemId
|
|
END
|
|
END |