Advertisement
Guest User

Untitled

a guest
Sep 20th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.62 KB | None | 0 0
  1. CREATE TRIGGER T_InsertItem ON [dbo].[UserGameItems] AFTER INSERT
  2. AS
  3.     IF EXISTS ( SELECT * FROM [dbo].[UserGameItems] AS ugi
  4.                 INNER JOIN [dbo].[UsersGames] AS ug ON ugi.UserGameId = ug.GameId
  5.                 INNER JOIN [dbo].[Items] AS i ON i.ItemTypeId = ugi.ItemId
  6.                 WHERE ug.Level < i.MinLevel)
  7. BEGIN
  8. RAISERROR ('Item level is bigger than hero level!', 16, 1);  
  9. ROLLBACK TRANSACTION;
  10. RETURN  
  11. END;
  12. GO
  13.  
  14. -- добавям пари на определените юзъри
  15. UPDATE UsersGames
  16. SET Cash += 50000
  17. WHERE GameId IN (SELECT Id FROM Games
  18.                     WHERE Name = 'Bali')
  19.             AND
  20.             UserId IN (SELECT Id FROM Users
  21. WHERE Username IN ('baleremuda', 'loosenoise', 'inguinalself', 'buildingdeltoid', 'monoxidecos'))
  22.  
  23. --вадя общата стойност на определените итеми от определените юзъри
  24. UPDATE UsersGames
  25. SET Cash -= (SELECT SUM(AllSums.Price) FROM
  26. (SELECT Price FROM Items
  27. WHERE (Id BETWEEN 251 AND 299) OR (Id BETWEEN 501 AND 539)) AS AllSums)
  28. WHERE GameId IN (SELECT Id FROM Games
  29.                     WHERE Name = 'Bali')
  30.             AND
  31.             UserId IN (SELECT Id FROM Users
  32. WHERE Username IN ('baleremuda', 'loosenoise', 'inguinalself', 'buildingdeltoid', 'monoxidecos'))
  33.  
  34. -- тука се пробвам да навържа таблиците за да изкарам данните, които се искат
  35. SELECT u.Username, g.Name, us.Cash, i.Name FROM Users AS u
  36. INNER JOIN UsersGames AS us ON u.Id = us.UserId
  37. INNER JOIN UserGameItems AS ugi ON ugi.UserGameId = us.GameId
  38. INNER JOIN Games AS g ON g.Id = us.GameId
  39. INNER JOIN Items AS i ON i.Id = ugi.ItemId
  40. WHERE g.Name = 'Bali'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement