Wer kann ein Paket ändern
Die ALTER PACKAGE-Anweisung kann ausgeführt werden durch:
-
Der Besitzer des Pakets
-
Benutzer mit der Berechtigung
ALTER ANY PACKAGE
Die ALTER PACKAGE-Anweisung kann ausgeführt werden durch:
Der Besitzer des Pakets
Benutzer mit der Berechtigung ALTER ANY PACKAGE
ALTER PACKAGEALTER 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 PACKAGEErstellen eines neuen oder Ändern eines bestehenden Paket-Headers
DSQL
CREATE OR ALTER PACKAGE package_name
[SQL SECURITY {INVOKER | DEFINER}]
AS
BEGIN
[ <package_item> ... ]
END
!! Siehe auch Syntax CREATE PACKAGE für weitere Regeln!!
Die Anweisung CREATE OR ALTER PACKAGE erstellt ein neues Paket oder ändert einen vorhandenen Paket-Header.Existiert der Paket-Header nicht, wird er mit CREATE PACKAGE erstellt.Wenn es bereits existiert, wird es mit ALTER PACKAGE modifiziert, während bestehende Privilegien und Abhängigkeiten beibehalten werden.
CREATE OR ALTER PACKAGECREATE 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 PACKAGEEinen Paket-Header löschen
DSQL
DROP PACKAGE package_name
| Parameter | Beschreibung |
|---|---|
package_name |
Paketname |
Die DROP PACKAGE-Anweisung löscht einen vorhandenen Paket-Header.Wenn ein Paketkörper vorhanden ist, wird er zusammen mit dem Paketkopf gelöscht.Wenn noch Abhängigkeiten vom Paket bestehen, wird ein Fehler ausgegeben.
Die DROP PACKAGE-Anweisung kann ausgeführt werden durch:
Der Besitzer des Pakets
Benutzer mit der Berechtigung DROP ANY PACKAGE
DROP PACKAGEDROP PACKAGE APP_VAR
RECREATE PACKAGEErstellen eines neuen oder erneuten Erstellens eines vorhandenen Paketheaders
DSQL
RECREATE PACKAGE package_name
[SQL SECURITY {INVOKER | DEFINER}]
AS
BEGIN
[ <package_item> ... ]
END
!! Siehe auch Syntax CREATE PACKAGE für weitere Regeln!!
Die Anweisung RECREATE PACKAGE erstellt ein neues Paket oder erstellt einen vorhandenen Paket-Header neu.Wenn bereits ein Paketheader mit demselben Namen vorhanden ist, wird dieser durch diese Anweisung zuerst gelöscht und dann ein neuer Paketheader erstellt.Es ist nicht möglich, den Paketheader neu zu erstellen, wenn noch Abhängigkeiten von dem vorhandenen Paket bestehen oder wenn der Hauptteil des Pakets vorhanden ist.Bestehende Privilegien des Pakets selbst werden nicht beibehalten, ebenso wenig Privilegien zum Ausführen der Prozeduren oder Funktionen des Pakets.
RECREATE PACKAGERECREATE 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