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

 

DROP PACKAGE

 

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

 

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

 

Синтаксис:


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

BODY

убирает только тело пакета. Если вы опустите эту опцию, Oracle7 убирает и тело и спецификацию пакета.

schema

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

package

имя убираемого пакета.

 

Примечания по использованию.

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

Когда вы убираете только тело пакета,а не спецификацию, Oracle7 не обновляет зависимые объекты. Однако, вы не можете вызвать одну из процедур или хранмых функций, объявленных в спецификации пакета, пока вы не воссоздадите тело пакета.

Команда DROP PACKAGE убирает пакет и все его объекты вместе. Для убирания отдельного объекта из пакета, вы можете воссоздать пакет без объекта, используя команды CREATE PACKAGE и CREATE PACKAGE BODY с опцией OR REPLACE.

 

Пример.

Следующая инструкция убирает спецификацию и тело пакета BANKING, обновляя объекты, которые зависят то спецификации: