Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. DELIMITER $
  2. CREATE PROCEDURE udp_login(username VARCHAR(30), password VARCHAR(30))
  3. BEGIN
  4.  
  5. START TRANSACTION;
  6.  
  7. IF (username NOT IN (SELECT u.username FROM users AS u)) THEN
  8. BEGIN
  9. ROLLBACK;
  10. SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = '‘Username does not exist!';
  11. END;
  12. ELSEIF (username IN (SELECT u.username FROM users AS u) AND password NOT IN (SELECT u.password FROM users AS u)) THEN
  13. BEGIN
  14. ROLLBACK;
  15. SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Password is incorrect!';
  16. END;
  17. ELSEIF (username IN (SELECT liu.username FROM logged_in_users AS liu)) THEN
  18. BEGIN
  19. ROLLBACK;
  20. SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'User is already logged in!';
  21. END;
  22. END IF;
  23. INSERT INTO logged_in_users(id, username, password, email)
  24. SELECT
  25. u.id,
  26. u.username,
  27. u.password,
  28. u.email
  29. FROM users AS u
  30. WHERE u.id = (SELECT u.id
  31. FROM users AS u
  32. WHERE u.username = username
  33. AND u.password = password);
  34. COMMIT;
  35. END $
  36.  
  37. DELIMITER ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement