| |
Welcome to the dBforums forums.
You are currently viewing our boards as a guest which gives you limited access to view most discussions, articles and access our other FREE features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload your own photos and access many other special features. Registration is fast, simple and absolutely free so please, join our community today!
If you have any problems with the registration process or your account login, please contact contact support.
If you prefer not to see double-underlined words and corresponding ads, place your cursor here for ContentLink opt out.
|
 |

12-01-03, 13:26
|
|
Registered User
|
|
Join Date: Nov 2003
Location: Ireland
Posts: 10
|
|
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
|
|

12-01-03, 17:35
|
|
Registered User
|
|
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
Quote:
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
|
|
|

12-02-03, 02:04
|
|
Registered User
|
|
Join Date: Nov 2003
Location: Bangalore, INDIA
Posts: 333
|
|
|
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 .
|
|
| Thread Tools |
Search this Thread |
|
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
|