Beispiele für CREATE PACKAGE
-
Erstellen Sie einen Paket-Header
CREATE 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
-
Wenn
DEFINER
für das Paketpk
gesetzt ist, benötigt der BenutzerUS
nur dasEXECUTE
-Privileg aufpk
.Wenn es aufINVOKER
gesetzt wäre, bräuchte entweder der Benutzer oder das Paket auch dasINSERT
-Privileg für die Tabellet
.create table t (i integer); set term ^; create package pk SQL SECURITY DEFINER as begin function f(i integer) returns int; end^ create package body pk as begin function f(i integer) returns int as begin insert into t values (:i); return i + 1; end end^ set term ;^ grant execute on package pk to user us; commit; connect 'localhost:/tmp/69.fdb' user us password 'pas'; select pk.f(3) from rdb$database;