Примеры
CREATE OR ALTER PACKAGE APP_VAR
AS
BEGIN
FUNCTION GET_DATEBEGIN() RETURNS DATE DETERMINISTIC;
FUNCTION GET_DATEEND() RETURNS DATE DETERMINISTIC;
PROCEDURE SET_DATERANGE(ADATEBEGIN DATE, ADATEEND DATE DEFAULT CURRENT_DATE);
END
CREATE OR ALTER PACKAGE APP_VAR
AS
BEGIN
FUNCTION GET_DATEBEGIN() RETURNS DATE DETERMINISTIC;
FUNCTION GET_DATEEND() RETURNS DATE DETERMINISTIC;
PROCEDURE SET_DATERANGE(ADATEBEGIN DATE, ADATEEND DATE DEFAULT CURRENT_DATE);
END
DROP PACKAGE
Удаление заголовка пакета.
DSQL
DROP PACKAGE package_name
Параметр | Описание |
---|---|
package_name |
Имя пакета. |
Оператор DROP PACKAGE
удаляет существующий заголовок пакета.Перед удалением заголовка пакета (DROP PACKAGE
), необходимо выполнить удаление тела пакета (DROP PACKAGE BODY
), иначе будет выдана ошибка.Если от заголовка пакета существуют зависимости, то при попытке удаления такого заголовка будет выдана соответствующая ошибка.
Выполнить оператор DROP PACKAGE
могут:
Владелец пакета;
Пользователи с привилегией DROP ANY PACKAGE
.
DROP PACKAGE APP_VAR;
RECREATE PACKAGE
Создание нового или пересоздание существующего заголовка пакета.
DSQL
RECREATE PACKAGE package_name [<rights clause>] AS BEGIN [<package_item> ...] END <package_item> ::= <function_decl>; | <procedure_decl>; <function_decl> ::= FUNCTION func_name [(<in_params>)] RETURNS <type> [COLLATE collation] [DETERMINISTIC] <procedure_decl> ::= PROCEDURE proc_name [(<in_params>)] [RETURNS (<out_params>)] Подробнее см. CREATE PACKAGE
Оператор RECREATE PACKAGE
создаёт новый или пересоздаёт существующий заголовок пакета.Если заголовок пакета с таким именем уже существует, то оператор попытается удалить его и создать новый заголовок пакета.Пересоздать заголовок пакета невозможно, если у существующей заголовка пакета имеются зависимости или существует тело этого пакета.После пересоздания заголовка пакета привилегии на выполнение подпрограмм пакета и привилегии самого пакета не сохраняются.
RECREATE PACKAGE APP_VAR
AS
BEGIN
FUNCTION GET_DATEBEGIN() RETURNS DATE DETERMINISTIC;
FUNCTION GET_DATEEND() RETURNS DATE DETERMINISTIC;
PROCEDURE SET_DATERANGE(ADATEBEGIN DATE, ADATEEND DATE DEFAULT CURRENT_DATE);
END