Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.27 KB | None | 0 0
  1. CREATE TRIGGER tr_ItemsInsert ON Items
  2. AFTER INSERT
  3. AS
  4.     IF (EXISTS ( SELECT *
  5.                    FROM inserted
  6.                    JOIN UserGameItems AS ugi ON ugi.UserGameId = inserted.Id
  7.                    JOIN UsersGames AS ug ON ug.Id = ugi.ItemId
  8.                   WHERE inserted.[MinLevel] > ug.[Level])
  9.        )
  10.     BEGIN
  11.         ROLLBACK;
  12.         RAISERROR('Users should not buy items with higher level than their level.', 16, 1);
  13.         RETURN;
  14.     END;
  15.  
  16.     UPDATE UsersGames
  17.        SET Cash += 50000
  18.       FROM UsersGames AS ug
  19.            JOIN Users AS u ON u.Id = ug.UserId
  20.            JOIN Games AS g ON ug.GameId = g.Id
  21.      WHERE u.[Username] IN ('baleremuda', 'loosenoise', 'inguinalself', 'buildingdeltoid', 'monoxidecos')
  22.        AND g.[Name] = 'Bali'
  23.  
  24.     UPDATE UsersGames
  25.        SET Cash -= i.Price
  26.       FROM UsersGames AS ug
  27.            JOIN UserGameItems AS ugi ON ug.Id = ugi.UserGameId
  28.            JOIN Items AS i ON i.Id = ugi.ItemId
  29.      WHERE (i.Id BETWEEN 251 AND 299) AND (i.Id BETWEEN 501 AND 539)
  30.  
  31.      SELECT u.[Username],
  32.             g.[Name],
  33.             ug.[Cash],
  34.             i.[Name] AS [Item Name]
  35.        FROM Users AS u
  36.              JOIN UsersGames AS ug ON u.Id = ug.UserId
  37.              JOIN Games AS g ON g.Id = ug.GameId
  38.              JOIN UserGameItems AS ugi ON ugi.UserGameId = ug.Id
  39.              JOIN Items AS i ON i.Id = ugi.ItemId
  40.       WHERE g.[Name] = 'Bali'
  41.    ORDER BY u.[Username], i.[Name]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement