Advertisement
Guest User

Untitled

a guest
May 15th, 2016
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 2.31 KB | None | 0 0
  1. CREATE OR REPLACE PACKAGE BODY user_connector AS  
  2.   PROCEDURE get_user(p_username IN VARCHAR2, p_out_cursor OUT sys_refcursor)
  3.   AS
  4.   BEGIN
  5.     OPEN p_out_cursor FOR SELECT * FROM USER_PROFILE
  6.                           WHERE username = p_username;
  7.   END get_user;
  8.  
  9.   PROCEDURE get_user_by_id(p_id IN NUMBER, p_out_cursor OUT sys_refcursor)
  10.   AS
  11.   BEGIN
  12.     OPEN p_out_cursor FOR SELECT * FROM USER_PROFILE WHERE USER_ID = p_id;
  13.   END get_user_by_id;
  14.  
  15.   PROCEDURE get_users_money(p_user_id IN NUMBER, p_out_cursor OUT sys_refcursor)
  16.   AS
  17.   BEGIN
  18.     OPEN p_out_cursor FOR SELECT Money FROM User_Profile WHERE User_ID = p_user_id;
  19.   END get_users_money;
  20.  
  21.   PROCEDURE add_money_for_user(p_user_id IN NUMBER, p_money IN NUMBER, p_out_cursor OUT sys_refcursor)
  22.   AS
  23.     v_money NUMBER;
  24.   BEGIN
  25.     SELECT MONEY INTO v_money FROM USER_PROFILE
  26.       WHERE USER_ID = p_user_id;
  27.      
  28.     v_money := v_money + p_money;
  29.    
  30.     UPDATE User_Profile SET money=v_money WHERE User_ID=p_user_id;
  31.     COMMIT;
  32.   END add_money_for_user;
  33.  
  34.   PROCEDURE authenticate(p_username IN VARCHAR2,
  35.                          p_password IN VARCHAR2,
  36.                          p_out_cursor OUT sys_refcursor)
  37.   AS
  38.   BEGIN
  39.     OPEN p_out_cursor FOR SELECT * FROM USER_PROFILE
  40.                           WHERE USERNAME = p_username
  41.                           AND PASSWORD = p_password;
  42.   END authenticate;
  43.  
  44.   PROCEDURE registration(p_username IN VARCHAR2,
  45.                          p_password IN VARCHAR2,
  46.                          p_conf IN VARCHAR2,
  47.                          p_out_cursor OUT sys_refcursor)
  48.   AS
  49.     v_count NUMBER;
  50.   BEGIN
  51.     IF p_password = p_conf THEN
  52.       SELECT COUNT(*) INTO v_count FROM USER_PROFILE WHERE USERNAME = p_username;
  53.       IF v_count != 0 THEN
  54.         INSERT INTO USER_PROFILE(USERNAME, PASSWORD, GROUP_ID, IS_ACTIVE)
  55.                     VALUES(p_username, p_password, 2, 1);
  56.         COMMIT;
  57.       END IF;
  58.     END IF;
  59.    
  60.     OPEN p_out_cursor FOR SELECT * FROM User_Profile
  61.                           WHERE username = p_username
  62.                           AND password = p_password;
  63.   END registration;
  64.  
  65.   PROCEDURE fetch_all_users( p_out_cursor OUT sys_refcursor)
  66.   AS
  67.   BEGIN
  68.     OPEN p_out_cursor FOR SELECT * FROM USER_PROFILE;
  69.   END fetch_all_users;
  70.  
  71. END user_connector;
  72. /
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement