W Oracle PL/SQL mogę utworzyć zmienną globalną opartą na sesji z definicją pakietu. Z PLG/SQL PostgreSQL, nie wydaje się to możliwe, ponieważ nie ma pakietów, tylko niezależne procedury i funkcje.Zmienna globalna bazująca na sesji w PostgreSQL przechowywana procedura?
Oto składnia PL/SQL do deklarowania g_spool_key jako globalny ...
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;
Jak zaimplementować sesję opartą zmienna globalna z PLpg/SQL?
Czy te niestandardowych zmiennej klasy zmienny? – dacracot
tak, mam klasę "imos" - wyjście psql: imos => ustaw imos.testvar na 'foobar'; ZESTAW imos => show imos.testvar; imos.testvar -------------- foobar imos => zestaw imos.testvar na "bazbar"; ZESTAW imos => show imos.testvar; imos.testvar -------------- bazbar –
BTW, z PostgreSQL 9.2 każde ustawienie może być poprzedzone dowolną nazwą klasy, a obsługa parametru custom_variable_classes została usunięta (zobacz https: // www.postgresql.org/docs/current/static/release-9-2.html#AEN111020) – Nashev