Advertisement
Iv555

Untitled

May 31st, 2022
1,916
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.36 KB | None | 0 0
  1. DECLARE @StamatId INT = (SELECT Id FROM Users WHERE Username = 'Stamat')
  2. DECLARE @GameSafflowerId INT = (SELECT Id FROM Games WHERE [Name] = 'Safflower')
  3. DECLARE @AvailableCash MONEY = (SELECT Cash FROM UsersGames WHERE UserId = (SELECT Id FROM Users WHERE Username = 'Stamat') AND GameId = (SELECT Id FROM Games WHERE [Name] = 'Safflower'))
  4. DECLARE @TotalPriceItemsWithLevel11_12 MONEY = (SELECT SUM(Price) FROM Items WHERE MinLevel BETWEEN 11 AND 12)
  5. DECLARE @StamatSafflowerUserGameId INT = (SELECT Id FROM UsersGames WHERE UserId = (SELECT Id FROM Users WHERE Username = 'Stamat')  AND GameId = (SELECT Id FROM Games WHERE [Name] = 'Safflower'))
  6.  
  7. BEGIN TRANSACTION
  8. IF @AvailableCash < @TotalPriceItemsWithLevel11_12
  9. BEGIN
  10.     ROLLBACK
  11.     RETURN
  12. END
  13. ELSE
  14. BEGIN
  15.     UPDATE UsersGames
  16.     SET Cash -= @TotalPriceItemsWithLevel11_12
  17.     WHERE UserId = @StamatId AND GameId = @GameSafflowerId
  18.  
  19.     INSERT INTO UserGameItems (ItemId, UserGameId)
  20.     SELECT Id, @StamatSafflowerUserGameId FROM Items WHERE MinLevel BETWEEN 11 AND 12
  21. END
  22. COMMIT
  23.  
  24.  
  25. DECLARE @StamatId1 INT = (SELECT Id FROM Users WHERE Username = 'Stamat')
  26. DECLARE @GameSafflowerId1 INT = (SELECT Id FROM Games WHERE [Name] = 'Safflower')
  27. DECLARE @AvailableCash1 MONEY = (SELECT Cash FROM UsersGames WHERE UserId = (SELECT Id FROM Users WHERE Username = 'Stamat') AND GameId = (SELECT Id FROM Games WHERE [Name] = 'Safflower'))
  28. DECLARE @TotalPriceItemsWithLevel19To21 MONEY= (SELECT SUM(Price) FROM Items WHERE MinLevel BETWEEN 19 AND 21)
  29. DECLARE @StamatSafflowerUserGameId1 INT = (SELECT Id FROM UsersGames WHERE UserId = @StamatId1 AND GameId = @GameSafflowerId1)
  30.  
  31.  
  32. BEGIN TRANSACTION
  33. IF @AvailableCash1 < @TotalPriceItemsWithLevel19To21
  34. BEGIN
  35.     ROLLBACK
  36.     RETURN
  37. END
  38. ELSE
  39. BEGIN
  40.     UPDATE UsersGames
  41.     SET Cash -= @TotalPriceItemsWithLevel19To21
  42.     WHERE UserId = @StamatId1 AND GameId = @GameSafflowerId1
  43.  
  44.     INSERT INTO UserGameItems (ItemId, UserGameId)
  45.     SELECT Id, @StamatSafflowerUserGameId1 FROM Items WHERE MinLevel BETWEEN 19 AND 21
  46. END
  47. COMMIT
  48.  
  49.  
  50. DECLARE @StamatSafflowerUserGameIdNew INT = (SELECT Id FROM UsersGames WHERE UserId = (SELECT Id FROM Users WHERE Username = 'Stamat')
  51.                                     AND GameId = (SELECT Id FROM Games WHERE [Name] = 'Safflower'))
  52.                            
  53. SELECT i.[Name] AS [Item Name] FROM UserGameItems AS ugi
  54. JOIN Items AS i ON ugi.ItemId = i.Id
  55. WHERE UserGameId = @StamatSafflowerUserGameIdNew
  56. ORDER BY i.[Name]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement