Advertisement
Guest User

Untitled

a guest
Jul 3rd, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.93 KB | None | 0 0
  1. #spCheckPwd
  2. DROP PROCEDURE spCheckPwd;
  3. DELIMITER //
  4. CREATE PROCEDURE spCheckPwd (IN in_username VARCHAR(50), IN in_password CHAR(32), OUT access INT(10))
  5. BEGIN
  6. DECLARE id INT DEFAULT -1;
  7. DECLARE admin INT DEFAULT 0;
  8. DECLARE CONTINUE HANDLER FOR NOT FOUND SET id=-1, admin=0;
  9. SELECT user_id INTO id FROM USER WHERE email = in_username AND password = md5(in_password) AND deleted = 0;
  10. SELECT is_admin INTO admin FROM USER WHERE email = in_username AND password = md5(in_password) AND deleted = 0;
  11. CASE
  12. WHEN admin = 1 THEN
  13. SELECT 2 INTO access;
  14. WHEN id > -1 THEN
  15. SELECT 1 INTO access;
  16. ELSE
  17. SELECT 0 INTO access;
  18. END CASE;
  19. END;
  20. //
  21. DELIMITER ;
  22.  
  23. #spUpdateUser:
  24. DROP PROCEDURE spUpdateUser;
  25. DELIMITER //
  26. CREATE PROCEDURE spUpdateUser (IN in_username VARCHAR(20), IN in_password CHAR(32), IN target_username VARCHAR(20), IN in_name VARCHAR(20), IN in_gender INT(10), IN in_email VARCHAR(32), IN in_address_street VARCHAR(32), IN in_address_zipcode VARCHAR(32), IN in_address_city VARCHAR(32), IN in_hobbies VARCHAR(100), IN in_friendship BOOLEAN, IN in_romance BOOLEAN)
  27. BEGIN
  28. DECLARE user_access INT;
  29. DECLARE calling_uname VARCHAR(20);
  30. CALL spCheckPwd(in_username, in_password, user_access);
  31. CALL spGetUsername(in_username, in_password, calling_uname);
  32. CASE
  33. WHEN user_access = 2 THEN
  34. UPDATE USER
  35. SET name = in_name, gender = in_gender, email = in_email, address_street = in_address_street, address_zipcode = in_address_zipcode, address_city = in_address_city, hobbies = in_hobbies, friendship = in_friendship, romance = in_romance
  36. WHERE username = target_username;
  37. WHEN user_access = 1 AND calling_uname = target_username THEN
  38. UPDATE USER
  39. SET name = in_name, gender = in_gender, email = in_email, address_street = in_address_street, address_zipcode = in_address_zipcode, address_city = in_address_city, hobbies = in_hobbies, friendship = in_friendship, romance = in_romance
  40. WHERE username = target_username;
  41. END CASE;
  42. END;
  43. //
  44. DELIMITER ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement