Advertisement
Guest User

Untitled

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