42 lines
939 B
Transact-SQL
42 lines
939 B
Transact-SQL
|
|
CREATE PROCEDURE [dbo].[GetCurrency]
|
|
@UserId varchar(50),
|
|
@ServerId 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
|
|
SET @Result = 'Success';
|
|
END
|
|
ELSE -- entry does not exist, insert new one
|
|
BEGIN
|
|
INSERT INTO CashTable (WindyCode, WorldId, Zen)
|
|
VALUES (@UserId, @ServerId, 0);
|
|
|
|
SET @Result = 'Success';
|
|
SET @Zen = 0;
|
|
END;
|
|
|
|
COMMIT TRANSACTION;
|
|
END TRY
|
|
BEGIN CATCH
|
|
ROLLBACK TRANSACTION;
|
|
SET @Result = 'TransactionFailed';
|
|
SET @Zen = 0;
|
|
END CATCH
|
|
|
|
SELECT @Result as Result, @Zen as Zen;
|
|
END
|
|
|