You are on page 1of 2

SYNTAX FOR PACKAGE SPECIFICATION

CREATE OR REPLACE PACKAGE <PACKAGE NAME> IS


1. DECLARATION OF GLOBAL VARIABLES
2. DECLARATIONS OF GLOBAL CURSORS, PL/SQL RECORDS AND PL/SQL TABLES.
3. FORWARD DECLARATIONS OF PUBLIC PROCEDURES
4. FORWARD DECLARATIONS OF PUBLIC FUNCTIONS
END <PACKAGE NAME>;

SYNTAX FOR PACKAGE BODY

CREATE OR REPLACE PACKAGE BODY <PACKAGE NAME> IS


1. FORWARD DECLARATION OF PRIVATE PROCEDURES
2. FORWARD DECLARATION OF PRIVATE FUNCTIONS
3. CODE BODY FOR PRIVATE PROCEDURES
4. CODE BODY FOR PRIVATE FUNCTIONS
5. CODE BODY FOR PUBLIC PROCEDURES DECLARED IN THE SPEC
6. CODE BODY FOR PUBLIC FUNCTIONS DECLARED IN THE SPEC
END <PACKAGE NAME>;

THE PACKAGE SPECIFICATION AND THE PACKAGE BODY MUST HAVE THE SAME NAME ONLY THEN
CAN THEY COMBINE IN THE DATABASE.

THE PACKAGE BODY MUST KEEP ALL THE CODE FOR EVERY PROCEDURE OR FUNCTION THAT HAS
BEEN DECLARED IN THE SPECIFICATION.

A PACKAGE IS A COLLECTION OBJECT. IT IS A COLLECTION OF PROCEDURES AND FUNCTIONS.


PACKAGES CONSIST OF TWO PARTS
1. PACKAGE SPECIFICATION
2. PACKAGE BODY

THE PACKAGE SPECIFICATION MUST BE CREATED BEFORE CREATING THE PACKAGE BODY.
THE PACKAGE SPECIFICATION IS ALSO KNOWN AS THE PACKAGE HEADER.
THE PACKAGE SPECIFICATION CAN EXIST IN THE DATABASE BY ITSELF BUT THE PACKAGE BODY
CANNOT EXIST WITHOUT THE SPECIFICATION.
THE PACKAGE SPEC AND BODY MUST HAVE THE SAME NAME.
THEY ARE CREATED AS TWO SEPARATE PROGRAMS BUT WILL COMBINE TOGETHER AT THE DATABASE
LEVEL.

ADVANTAGES OF PACKAGES:-

1. EASY MAINTAINANCE:- ALL THE OBJECTS AND VARIABLES ARE AVAILABLE AT A SINGLE
LOCATION THUS IT IS EASY FOR THE PROGRAMMER TO MAINTAIN THAT CODE.

2. EASY DEBUGGING:- WHEN WE COMPILE A PACKAGE IT WILL REPORT ERRORS IN ALL


PROCEDURES AND FUNCTIONS AT ONE TIME, THUS THE PROGRAMMER CAN CORRECT ALL THOSE
ERRORS AND THEN RECOMPILE THE ENTIRE PACKAGE.

3. FASTER EXECUTION:- AS SOON AS A MEMBER OF THE PACKAGE IS USED BY ANY APPLICATION


THEN THE ENTIRE PACKAGE IS BROUGHT INTO THE SERVER MEMORY/BUFFER. THUS SUBSEQUENT
EXECUTION OF OTHER MEMBERS OF THE SAME PACKAGE BECOMES VERY FAST AS THEY ARE
ALREADY AVAILABLE IN THE BUFFER.

4. OVERLOADING:- PACKAGE ALLOWS OVERLOADING OF PROCEDURES AND FUNCTIONS.


OVERLOADING IS HAVING TWO OR MORE PROCEDURES OR FUNCTIONS WITH THE SAME NAME. THE
USER OF THE PACKAGE NEED NOT REMEMBER MANY NAMES FOR VARIOUS PROCEDURES AND
FUNCTIONS.

5. PORTABILITY:- WE CAN CARRY SEVERAL PROCEDURES AND FUNCTIONS IN A SINGLE PACKAGE


AND RECREATE ALL OF THEM ON ANOTHER DATABASE AT A SINGLE TIME.

6. GRANTING MULTIPLE PROCEDURES AND FUNCTIONS IS POSSIBLE IN PACKAGES, SINCE ALL


PROCEDURES AND FUNCTIONS ARE IN THE SAME PACKAGE , IF WE GRANT THE PACKAGE ALL
OBJECTS IN THE PACKAGE ALSO GET GRANTED.

7. SECURITY :- PACKAGE PROVIDES ALL THE MEMBERS WITH TWO SCOPES


1. PRIVATE
2. PUBLIC

8. IF THE PROCEDURE OR FUNCTION IS DEFINED WITH SCOPE AS PRIVATE THEN THAT


PROCEDURE OR FUNCTION CANNOT BE ACCESSED FROM ANY OTHER PROCEDURE OR FUNCTION
OUTSIDE THE PACKAGE OR IT CANNOT BE CALLED EXPLICITLY OUTSIDE THE PACKAGE.

9. IF THE SCOPE OF THE PROCEDURE OR FUNCTION IS PUBLIC THEN THAT CAN BE ACCESSED
FROM ANY OTHER PROCEDURE OR FUNCTION WITHIN THE SCHEMA OR CAN BE CALLED EXPLICITLY
BY THE USER OF THE SCHEMA.

10. WE CAN DECLARE GLOBAL VARIABLES INSIDE A PACKAGE SPECIFICATON. ANY VARIABLE
THAT IS DECLARED INSIDE A PACKAGE SPECIFICATION WILL BE A PUBLIC VARIABLE.

You might also like