Теория для лабораторной работы №4 - "PL/SQL – процедурное расширение языка SQL", страница 5

          no_comm EXCEPTION;

no_sal EXCEPTION;

END emp_mgmt

 

Сецификация пакета EMP_MGMT объявляет следующие публичные объекты программы:

·  функции HIRE и CREATE_DEPT

·  процедуры REMOVE_EMP, REMOVE_DEPT, INCREASE_SAL и INCREASE_COMM

·  исключения NO_COMM и NO_SAL

Все из этих объектов доступны пользователям, которые имеют доступ к пакету. После создания пакета, вы можете разрабатывать приложения, которые вызывают любые из публичных процедур или функций пакета или вызывать любые публичные исключения пакета

До того как вы сможете вызвать процедуры и функции пакета, вы должны определить эти процедуры и функции в теле пакета.

 

CREATE PACKAGE BODY

 

Назначение команды: создаёт тело хранимого пакета.

 

Требования к использованию: до того, как пакет может быть создан, пользователь SYS должен выполнить SQL-скрипт DBMSSTDX.SQL . Точное имя и местоположение этого скрипта может изменяться в зависимости от вашей операционной системы.

Для создания пакета в вашей собственной схеме, вы должны иметь системную привелегию CREATE PROCEDURE. Для создания пакета в схеме другого пользователя, вы болжны иметь системную привелегию CREATE ANY PROCEDURE.

Для создатия пакета вы должны использовать Oracle7 с установленным PL/SQL.

 

Синтаксис:


Ключевые слова и параметры:

OR REPLACE

пересоздаёт тело пакета, если оно уже существует. Вы можете использовать эту опцию для изменнения тела уже существующего пакета без  убирания, пересоздания или переназначения привелегий предварительно назначенных пакету. Если вы измените тело пакета, Oracle7 перекомпилирует его.

Пользователи, которым предварительно были даны привелегии на переопределяемый пакет, могут использовать его без переназначения привелегий.

schema

схема, содержащая пакет. Если вы опустите schema, Oracle7 создаёт пакет вашей собственной схеме.

package

имя создаваемого пакета.

pl/sql_package_body

тело пакета. Тело пакета может объявлять и определять объекты программы. Объекты программы написаны в PL/SQL.