Who Can Alter a Package
The ALTER PACKAGE
statement can be executed by:
-
The owner of the package
-
Users with the
ALTER ANY PACKAGE
privilege
The ALTER PACKAGE
statement can be executed by:
The owner of the package
Users with the ALTER ANY PACKAGE
privilege
ALTER PACKAGE
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
Creates a package header if it does not exist, or alters a package header
DSQL
CREATE OR ALTER PACKAGE package_name
[SQL SECURITY {INVOKER | DEFINER}]
AS
BEGIN
[ <package_item> ... ]
END
!! See syntax of CREATE PACKAGE
for further rules!!
The CREATE OR ALTER PACKAGE
statement creates a new package or modifies an existing package header.If the package header does not exist, it will be created using CREATE PACKAGE
.If it already exists, then it will be modified using ALTER PACKAGE
while retaining existing privileges and dependencies.
CREATE OR ALTER PACKAGE
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
Drops a package header
DSQL
DROP PACKAGE package_name
Parameter | Description |
---|---|
package_name |
Package name |
The DROP PACKAGE
statement deletes an existing package header.If a package body exists, it will be dropped together with the package header.If there are still dependencies on the package, an error will be raised.
The DROP PACKAGE
statement can be executed by:
The owner of the package
Users with the DROP ANY PACKAGE
privilege
DROP PACKAGE
DROP PACKAGE APP_VAR
RECREATE PACKAGE
Drops a package header if it exists, and creates a package header
DSQL
RECREATE PACKAGE package_name
[SQL SECURITY {INVOKER | DEFINER}]
AS
BEGIN
[ <package_item> ... ]
END
!! See syntax of CREATE PACKAGE
for further rules!!
The RECREATE PACKAGE
statement creates a new package or recreates an existing package header.If a package header with the same name already exists, then this statement will first drop it and then create a new package header.It is not possible to recreate the package header if there are still dependencies on the existing package, or if the body of the package exists.Existing privileges of the package itself are not preserved, nor are privileges to execute the procedures or functions of the 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