Results 1 to 3 of 3
  1. #1
    Join Date
    Nov 2003
    Location
    Ireland
    Posts
    10

    Angry Unanswered: Compilation Errors When Trying To Compile Package Body!

    Hi,

    I am receiving compilation errors when I am trying to compile a package body, but for the life of me I can figure out why!

    Can anybody help? Its driving me insane!!

    --============================================
    --= PACKAGE BODY
    --============================================
    CREATE OR REPLACE PACKAGE BODY student_manager
    AS

    PROCEDURE insert_student
    (i_SALUTATION IN VARCHAR2,
    i_first_name IN VARCHAR2,
    i_last_name IN VARCHAR2,
    i_STREET_ADDRESS IN VARCHAR2,
    i_ZIP IN VARCHAR2,
    i_PHONE IN VARCHAR2,
    i_EMPLOYER IN vARcHAR2,
    i_REGISTRATION_DATE IN DATE);
    IS
    BEGIN
    INSERT INTO student VALUES
    (get_new_student_id,
    i_SALUTATION,
    i_first_name,
    i_last_name,
    i_STREET_ADDRESS,
    i_ZIP,
    i_PHONE,
    i_EMPLOYER,
    i_REGISTRATION_DATE,
    user,
    sysdate,
    user,
    sysdate);
    END insert_student;


    --============================================

    PROCEDURE delete_student
    (i_student_id IN student.student_id%TYPE)
    IS
    BEGIN
    DELETE FROM student
    WHERE student.student_id = i_student_id;

    END delete_student;

    --============================================

    FUNCTION get_new_student_id

    RETURN NUMBER
    IS
    v_seq_id student.student_id%TYPE;

    BEGIN
    SELECT student_id_seq.nextval
    INTO v_seq_id
    FROM dual;
    RETURN v_seq_id;

    END get_new_student_id;

    END student_manager;
    .

    --============================================
    -- ERRORS:
    --============================================

    Warning: Package Body created with compilation errors.

    SQL> show errors
    Errors for PACKAGE BODY STUDENT_MANAGER:

    LINE/COL ERROR
    -------- -----------------------------------------------------------------
    13/1 PLS-00103: Encountered the symbol "IS" when expecting one of the
    following:
    begin end function package pragma procedure subtype type use
    <an identifier> <a double-quoted delimited-identifier> form
    current cursor

    34/1 PLS-00103: Encountered the symbol "PROCEDURE"
    59/1 PLS-00103: Encountered the symbol "END" when expecting one of the
    following:
    begin function package pragma procedure form

  2. #2
    Join Date
    Dec 2003
    Posts
    1

    Re: Compilation Errors When Trying To Compile Package Body!

    There a just a couple of things I noticed, which you can try fixing-

    1. Your statement- CREATE OR REPLACE PACKAGE BODY student_manager
    AS
    should read as-
    CREATE OR REPLACE PACKAGE BODY student_manager is

    2. You have a semicolon in the procedure insert_student before 'IS'
    ( i_REGISTRATION_DATE IN DATE)
    remove this semicolon and try.


    --Shekhar Pendyala


    Originally posted by iknownothing
    Hi,

    I am receiving compilation errors when I am trying to compile a package body, but for the life of me I can figure out why!

    Can anybody help? Its driving me insane!!

    --============================================
    --= PACKAGE BODY
    --============================================
    CREATE OR REPLACE PACKAGE BODY student_manager
    AS

    PROCEDURE insert_student
    (i_SALUTATION IN VARCHAR2,
    i_first_name IN VARCHAR2,
    i_last_name IN VARCHAR2,
    i_STREET_ADDRESS IN VARCHAR2,
    i_ZIP IN VARCHAR2,
    i_PHONE IN VARCHAR2,
    i_EMPLOYER IN vARcHAR2,
    i_REGISTRATION_DATE IN DATE);
    IS
    BEGIN
    INSERT INTO student VALUES
    (get_new_student_id,
    i_SALUTATION,
    i_first_name,
    i_last_name,
    i_STREET_ADDRESS,
    i_ZIP,
    i_PHONE,
    i_EMPLOYER,
    i_REGISTRATION_DATE,
    user,
    sysdate,
    user,
    sysdate);
    END insert_student;


    --============================================

    PROCEDURE delete_student
    (i_student_id IN student.student_id%TYPE)
    IS
    BEGIN
    DELETE FROM student
    WHERE student.student_id = i_student_id;

    END delete_student;

    --============================================

    FUNCTION get_new_student_id

    RETURN NUMBER
    IS
    v_seq_id student.student_id%TYPE;

    BEGIN
    SELECT student_id_seq.nextval
    INTO v_seq_id
    FROM dual;
    RETURN v_seq_id;

    END get_new_student_id;

    END student_manager;
    .

    --============================================
    -- ERRORS:
    --============================================

    Warning: Package Body created with compilation errors.

    SQL> show errors
    Errors for PACKAGE BODY STUDENT_MANAGER:

    LINE/COL ERROR
    -------- -----------------------------------------------------------------
    13/1 PLS-00103: Encountered the symbol "IS" when expecting one of the
    following:
    begin end function package pragma procedure subtype type use
    <an identifier> <a double-quoted delimited-identifier> form
    current cursor

    34/1 PLS-00103: Encountered the symbol "PROCEDURE"
    59/1 PLS-00103: Encountered the symbol "END" when expecting one of the
    following:
    begin function package pragma procedure form

  3. #3
    Join Date
    Nov 2003
    Location
    Bangalore, INDIA
    Posts
    333

    Thumbs up

    Hi,

    You need to put a forward slash '/' at the end of the package specification. The slash needs to be on a line by itself after the last "end;" in the package specification.
    SATHISH .

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •