thelittlewozniak icon

Untitled

thelittlewozniak | PRO | 12/28/18 02:25:12 PM UTC | 0 ⭐ | 7252 👁️ | Never ⏰ | []
PL/SQL |

4.4 KB

|

None

|

0 👍

/

0 👎

    -- -----------------------------------------------------
    -- CREATE USERPACKAGE
    -- -----------------------------------------------------
 
    CREATE OR REPLACE PACKAGE USERPACKAGE
IS
TYPE find_cursor
IS
  REF
  CURSOR;
    FUNCTION ADD
      (
        p_firstname USERS.firstname%TYPE,
        p_lastname USERS.lastname%TYPE,
        p_mail USERS.email%TYPE,
        p_mdp USERS.password%TYPE,
        p_address USERS.address%TYPE,
        p_birthday USERS.birthday%TYPE,
        p_registerDate USERS.registerDate%TYPE,
        p_relationship USERS.relationship%TYPE,
        p_phoneNumber USERS.phoneNumber%TYPE,
        p_gender USERS.gender%TYPE,
        p_int   erestedIn USERS.interestedIn%TYPE
      )
      RETURN NUMBER;
    PROCEDURE del
      (
        userid USERS.iduser%TYPE
      )
      ;
    PROCEDURE upd
      (
        userid USERS.iduser%TYPE,
        p_firstname USERS.firstname%TYPE,
        p_lastname USERS.lastname%TYPE,
        p_mail USERS.email%TYPE,
        p_mdp USERS.password%TYPE,
        p_address USERS.address%TYPE,
        p_birthday USERS.birthday%TYPE,
        p_registerDate USERS.registerDate%TYPE,
        p_relationship USERS.relationship%TYPE,
        p_phoneNumber USERS.phoneNumber%TYPE,
        p_gender USERS.gender%TYPE,
        p_interestedIn USERS.interestedIn%TYPE
      )
      ;
    FUNCTION get
      (
        userid USERS.iduser%TYPE
      )
      RETURN find_cursor;
    FUNCTION getAll
      RETURN find_cursor;
END USERPACKAGE;
/
CREATE OR REPLACE PACKAGE BODY USERPACKAGE
AS
  FUNCTION ADD
    (
      p_firstname USERS.firstname%TYPE,
      p_lastname USERS.lastname%TYPE,
      p_mail USERS.email%TYPE,
      p_mdp USERS.password%TYPE,
      p_address USERS.address%TYPE,
      p_birthday USERS.birthday%TYPE,
      p_registerDate USERS.registerDate%TYPE,
      p_relationship USERS.relationship%TYPE,
      p_phoneNumber USERS.phoneNumber%TYPE,
      p_gender USERS.gender%TYPE,
      p_interestedIn USERS.interestedIn%TYPE
    )
    RETURN NUMBER
  AS
    User_Existing EXCEPTION;
    PRAGMA EXCEPTION_INIT (User_Existing, -1998);
    p_count       NUMBER;
    usrid         NUMBER;
  BEGIN
    SELECT COUNT(*) INTO p_count FROM USERS WHERE email=p_mail;
  IF p_count > 0 THEN
    RAISE User_Existing;
  ELSE
    INSERT
    INTO USERS
      (
        firstname,
        lastname,
        email,
        password,
        address,
        birthday,
        registerDate,
        relationship,
        phoneNumber,
        gender,
        interestedIn
      )
      VALUES
      (
        p_firstname,
        p_lastname,
        p_mail,
        p_mdp,
        p_address,
        p_birthday,
        p_registerDate,
        p_relationship,
        p_phoneNumber,
        p_gender,
        p_interestedIn
      )
    RETURNING iduser
    INTO usrid;
  END IF;
  RETURN usrid;
   EXCEPTION
        WHEN User_Existing THEN
        RETURN -1;
END ADD;
PROCEDURE del
  (
    userid USERS.iduser%TYPE
  )
AS
BEGIN
  DELETE FROM users WHERE iduser=userid;
END del;
PROCEDURE upd(
    userid USERS.iduser%TYPE,
    p_firstname USERS.firstname%TYPE,
    p_lastname USERS.lastname%TYPE,
    p_mail USERS.email%TYPE,
    p_mdp USERS.password%TYPE,
    p_address USERS.address%TYPE,
    p_birthday USERS.birthday%TYPE,
    p_registerDate USERS.registerDate%TYPE,
    p_relationship USERS.relationship%TYPE,
    p_phoneNumber USERS.phoneNumber%TYPE,
    p_gender USERS.gender%TYPE,
    p_interestedIn USERS.interestedIn%TYPE)
AS
BEGIN
  UPDATE USERS
  SET firstname =p_firstname,
    lastname    =p_lastname,
    email       =p_mail,
    password    =p_mdp,
    address     =p_address,
    birthday    =p_birthday,
    registerDate=p_registerDate,
    relationship=p_relationship,
    phoneNumber =p_phoneNumber,
    gender      =p_gender,
    interestedIn=p_interestedIn
  WHERE iduser  =userid;
END upd;
FUNCTION get(
    userid USERS.iduser%TYPE)
  RETURN find_cursor
AS
  user_cursor find_cursor;
BEGIN
  OPEN user_cursor FOR SELECT iduser,
  firstname,
  lastname,
  email,
  password,
  address,
  birthday,
  registerDate,
  relationship,
  phoneNumber,
  gender,
  interestedIn FROM USERS WHERE iduser=userid;
  RETURN user_cursor;
END get;
FUNCTION getAll
  RETURN find_cursor
AS
  user_cursor find_cursor;
BEGIN
  OPEN user_cursor FOR SELECT iduser,
  firstname,
  lastname,
  email,
  password,
  address,
  birthday,
  registerDate,
  relationship,
  phoneNumber,
  gender,
  interestedIn FROM USERS;
  RETURN user_cursor;
END getAll;
END USERPACKAGE;

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎