Oracle Database
Einen Kontext erstellen
Suche…
Syntax
- CREATE [ODER REPLACE] CONTEXT-Namespace USING [Schema.] Paket;
- CREATE [ODER REPLACE] CONTEXT-Namespace USING [Schema.] Paket INITIALIZED EXTERNALLY;
- CREATE [ODER REPLACE] CONTEXT-Namespace USING [Schema.] Paket INITIALIZED GLOBALLY;
- CREATE [ODER REPLACE] CONTEXT-Namespace USING [Schema.] Paket ACCESSED GLOBALLY;
Parameter
Parameter | Einzelheiten |
---|---|
OR REPLACE | Definieren Sie einen vorhandenen Kontext-Namespace neu |
Namensraum | Name des Kontexts - Dies ist der Namespace für Aufrufe von SYS_CONTEXT |
Schema | Besitzer des Pakets |
Paket | Datenbankpaket, das die Kontextattribute setzt oder zurücksetzt. Hinweis: Das Datenbankpaket muss nicht vorhanden sein, um den Kontext zu erstellen. |
INITIALIZED | Geben Sie eine andere Entität als Oracle Database an, die den Kontext festlegen kann. |
EXTERNALLY | Erlauben Sie der OCI-Schnittstelle, den Kontext zu initialisieren. |
GLOBALLY | Erlauben Sie dem LDAP-Verzeichnis, den Kontext beim Einrichten der Sitzung zu initialisieren. |
ACCESSED GLOBALLY | Zugriff auf den Kontext in der gesamten Instanz zulassen - Mehrere Sitzungen können sich die Attributwerte teilen, sofern sie dieselbe Client-ID haben. |
Bemerkungen
Oracle-Dokumentation (12cR1): http://docs.oracle.com/database/121/SQLRF/statements_5003.htm
Erstellen Sie einen Kontext
CREATE CONTEXT my_ctx USING my_pkg;
Dadurch wird ein Kontext erstellt, der nur durch Routinen im Datenbankpaket my_pkg
, z.
CREATE PACKAGE my_pkg AS
PROCEDURE set_ctx;
END my_pkg;
CREATE PACKAGE BODY my_pkg AS
PROCEDURE set_ctx IS
BEGIN
DBMS_SESSION.set_context('MY_CTX','THE KEY','Value');
DBMS_SESSION.set_context('MY_CTX','ANOTHER','Bla');
END set_ctx;
END my_pkg;
Wenn nun eine Sitzung dies tut:
my_pkg.set_ctx;
Es kann jetzt den Wert für den Schlüssel abrufen:
SELECT SYS_CONTEXT('MY_CTX','THE KEY') FROM dual;
Value
Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow