Кто может удалить заголовок пакета?
Выполнить оператор DROP PACKAGE могут:
-
Владелец пакета;
-
Пользователи с привилегией
DROP ANY PACKAGE.
Выполнить оператор 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