42 lines
931 B
Transact-SQL
42 lines
931 B
Transact-SQL
|
|
CREATE PROCEDURE [dbo].[SetCurrency]
|
|
@UserId varchar(50),
|
|
@ServerId int,
|
|
@NewBalance int
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON
|
|
|
|
DECLARE @Result varchar(20)
|
|
DECLARE @Zen int;
|
|
|
|
BEGIN TRY
|
|
BEGIN TRANSACTION
|
|
|
|
-- Check if entry with given UserId and ServerId exists
|
|
SELECT @Zen = Zen FROM CashTable
|
|
WHERE WindyCode = @UserId AND WorldId = @ServerId;
|
|
|
|
IF @@ROWCOUNT > 0 -- entry exists
|
|
BEGIN
|
|
UPDATE CashTable SET Zen = @NewBalance
|
|
WHERE WindyCode = @UserId AND WorldId = @ServerId;
|
|
|
|
SET @Zen = @NewBalance;
|
|
SET @Result = 'Success';
|
|
END
|
|
ELSE -- entry does not exist
|
|
BEGIN
|
|
SET @Result = 'Failed';
|
|
END;
|
|
|
|
COMMIT TRANSACTION;
|
|
END TRY
|
|
BEGIN CATCH
|
|
ROLLBACK TRANSACTION;
|
|
SET @Result = 'TransactionFailed';
|
|
END CATCH
|
|
|
|
SELECT @Result as Result, @Zen as Zen;
|
|
END
|
|
|