Dans PL/SQL d'Oracle, je peux créer une variable globale basée sur la session avec la définition du package. Avec PLpg/SQL de Postgresql, cela ne semble pas possible car il n'y a pas de paquets, seulement des procédures et des fonctions indépendantes.Variable globale basée sur la session dans la procédure stockée Postgresql?
Voici la syntaxe PL/SQL pour déclarer g_spool_key comme mondiale ...
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;
Comment puis-je mettre en œuvre une variable globale basée sur la session avec PLPG/SQL?
Sont ces classes-personnalisées variable mutable? – dacracot
oui, j'ai une classe "imos" - sortie psql: imos => mettre imos.testvar à 'foobar'; SET imos => show imos.testvar; imos.testvar -------------- foobar imos => Définir imos.testvar sur 'bazbar'; SET imos => show imos.testvar; BTW, à partir de PostgreSQL 9.2 n'importe quel paramètre peut être préfixé par n'importe quel nom de classe et le support du paramètre custom_variable_classes a été supprimé (voir https: // imos.testvar -------------- bazbar –
) www.postgresql.org/docs/current/static/release-9-2.html#AEN111020) – Nashev