thelittlewozniak

Untitled

Dec 28th, 2018
284
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 4.40 KB | None | 0 0
  1.     -- -----------------------------------------------------
  2.     -- CREATE USERPACKAGE
  3.     -- -----------------------------------------------------
  4.  
  5.     CREATE OR REPLACE PACKAGE USERPACKAGE
  6. IS
  7. TYPE find_cursor
  8. IS
  9.   REF
  10.   CURSOR;
  11.     FUNCTION ADD
  12.       (
  13.         p_firstname USERS.firstname%TYPE,
  14.         p_lastname USERS.lastname%TYPE,
  15.         p_mail USERS.email%TYPE,
  16.         p_mdp USERS.password%TYPE,
  17.         p_address USERS.address%TYPE,
  18.         p_birthday USERS.birthday%TYPE,
  19.         p_registerDate USERS.registerDate%TYPE,
  20.         p_relationship USERS.relationship%TYPE,
  21.         p_phoneNumber USERS.phoneNumber%TYPE,
  22.         p_gender USERS.gender%TYPE,
  23.         p_int   erestedIn USERS.interestedIn%TYPE
  24.       )
  25.       RETURN NUMBER;
  26.     PROCEDURE del
  27.       (
  28.         userid USERS.iduser%TYPE
  29.       )
  30.       ;
  31.     PROCEDURE upd
  32.       (
  33.         userid USERS.iduser%TYPE,
  34.         p_firstname USERS.firstname%TYPE,
  35.         p_lastname USERS.lastname%TYPE,
  36.         p_mail USERS.email%TYPE,
  37.         p_mdp USERS.password%TYPE,
  38.         p_address USERS.address%TYPE,
  39.         p_birthday USERS.birthday%TYPE,
  40.         p_registerDate USERS.registerDate%TYPE,
  41.         p_relationship USERS.relationship%TYPE,
  42.         p_phoneNumber USERS.phoneNumber%TYPE,
  43.         p_gender USERS.gender%TYPE,
  44.         p_interestedIn USERS.interestedIn%TYPE
  45.       )
  46.       ;
  47.     FUNCTION get
  48.       (
  49.         userid USERS.iduser%TYPE
  50.       )
  51.       RETURN find_cursor;
  52.     FUNCTION getAll
  53.       RETURN find_cursor;
  54. END USERPACKAGE;
  55. /
  56. CREATE OR REPLACE PACKAGE BODY USERPACKAGE
  57. AS
  58.   FUNCTION ADD
  59.     (
  60.       p_firstname USERS.firstname%TYPE,
  61.       p_lastname USERS.lastname%TYPE,
  62.       p_mail USERS.email%TYPE,
  63.       p_mdp USERS.password%TYPE,
  64.       p_address USERS.address%TYPE,
  65.       p_birthday USERS.birthday%TYPE,
  66.       p_registerDate USERS.registerDate%TYPE,
  67.       p_relationship USERS.relationship%TYPE,
  68.       p_phoneNumber USERS.phoneNumber%TYPE,
  69.       p_gender USERS.gender%TYPE,
  70.       p_interestedIn USERS.interestedIn%TYPE
  71.     )
  72.     RETURN NUMBER
  73.   AS
  74.     User_Existing EXCEPTION;
  75.     PRAGMA EXCEPTION_INIT (User_Existing, -1998);
  76.     p_count       NUMBER;
  77.     usrid         NUMBER;
  78.   BEGIN
  79.     SELECT COUNT(*) INTO p_count FROM USERS WHERE email=p_mail;
  80.   IF p_count > 0 THEN
  81.     RAISE User_Existing;
  82.   ELSE
  83.     INSERT
  84.     INTO USERS
  85.       (
  86.         firstname,
  87.         lastname,
  88.         email,
  89.         password,
  90.         address,
  91.         birthday,
  92.         registerDate,
  93.         relationship,
  94.         phoneNumber,
  95.         gender,
  96.         interestedIn
  97.       )
  98.       VALUES
  99.       (
  100.         p_firstname,
  101.         p_lastname,
  102.         p_mail,
  103.         p_mdp,
  104.         p_address,
  105.         p_birthday,
  106.         p_registerDate,
  107.         p_relationship,
  108.         p_phoneNumber,
  109.         p_gender,
  110.         p_interestedIn
  111.       )
  112.     RETURNING iduser
  113.     INTO usrid;
  114.   END IF;
  115.   RETURN usrid;
  116.    EXCEPTION
  117.         WHEN User_Existing THEN
  118.         RETURN -1;
  119. END ADD;
  120. PROCEDURE del
  121.   (
  122.     userid USERS.iduser%TYPE
  123.   )
  124. AS
  125. BEGIN
  126.   DELETE FROM users WHERE iduser=userid;
  127. END del;
  128. PROCEDURE upd(
  129.     userid USERS.iduser%TYPE,
  130.     p_firstname USERS.firstname%TYPE,
  131.     p_lastname USERS.lastname%TYPE,
  132.     p_mail USERS.email%TYPE,
  133.     p_mdp USERS.password%TYPE,
  134.     p_address USERS.address%TYPE,
  135.     p_birthday USERS.birthday%TYPE,
  136.     p_registerDate USERS.registerDate%TYPE,
  137.     p_relationship USERS.relationship%TYPE,
  138.     p_phoneNumber USERS.phoneNumber%TYPE,
  139.     p_gender USERS.gender%TYPE,
  140.     p_interestedIn USERS.interestedIn%TYPE)
  141. AS
  142. BEGIN
  143.   UPDATE USERS
  144.   SET firstname =p_firstname,
  145.     lastname    =p_lastname,
  146.     email       =p_mail,
  147.     password    =p_mdp,
  148.     address     =p_address,
  149.     birthday    =p_birthday,
  150.     registerDate=p_registerDate,
  151.     relationship=p_relationship,
  152.     phoneNumber =p_phoneNumber,
  153.     gender      =p_gender,
  154.     interestedIn=p_interestedIn
  155.   WHERE iduser  =userid;
  156. END upd;
  157. FUNCTION get(
  158.     userid USERS.iduser%TYPE)
  159.   RETURN find_cursor
  160. AS
  161.   user_cursor find_cursor;
  162. BEGIN
  163.   OPEN user_cursor FOR SELECT iduser,
  164.   firstname,
  165.   lastname,
  166.   email,
  167.   password,
  168.   address,
  169.   birthday,
  170.   registerDate,
  171.   relationship,
  172.   phoneNumber,
  173.   gender,
  174.   interestedIn FROM USERS WHERE iduser=userid;
  175.   RETURN user_cursor;
  176. END get;
  177. FUNCTION getAll
  178.   RETURN find_cursor
  179. AS
  180.   user_cursor find_cursor;
  181. BEGIN
  182.   OPEN user_cursor FOR SELECT iduser,
  183.   firstname,
  184.   lastname,
  185.   email,
  186.   password,
  187.   address,
  188.   birthday,
  189.   registerDate,
  190.   relationship,
  191.   phoneNumber,
  192.   gender,
  193.   interestedIn FROM USERS;
  194.   RETURN user_cursor;
  195. END getAll;
  196. END USERPACKAGE;
Advertisement