In Oracle PL/SQL kann ich eine sitzungsbasierte globale Variable mit der Paketdefinition erstellen. Mit Postgresqls PLpg/SQL scheint das nicht möglich, da es keine Pakete, sondern nur unabhängige Prozeduren und Funktionen gibt. HierSession-basierte globale Variable in PostgreSQL gespeicherte Prozedur?
ist die Syntax für PL/SQL als global zu erklären g_spool_key ...
CREATE OR REPLACE PACKAGE tox IS
g_spool_key spool.key%TYPE := NULL;
TYPE t_spool IS REF CURSOR RETURN spool%ROWTYPE;
PROCEDURE begin_spool;
PROCEDURE into_spool
(
in_txt IN spool.txt%TYPE
);
PROCEDURE reset_spool;
FUNCTION end_spool
RETURN t_spool;
FUNCTION timestamp
RETURN VARCHAR2;
END tox;
Wie würde ich eine Sitzung implementieren basierte globale Variable mit PLpg/SQL?
Sind diese individuell variabel Klassen wandelbar? – dacracot
Ja, ich habe eine Klasse "imos" - psql output: imos => imos.testvar auf 'foobar' setzen; SET imos => anzeigen imos.testvar; imos.testvar -------------- foobar imos => imos.testvar auf 'bazbar' setzen; SET imos => anzeigen imos.testvar; imos.testvar -------------- bazbar –
BTW, von PostgreSQL 9.2 kann jeder Einstellung ein Klassenname vorangestellt und die Unterstützung des Parameters custom_variable_classes entfernt werden (siehe https: // www.postgresql.org/docs/current/static/release-9-2.html#AEN111020) – Nashev