Vous n'êtes pas identifié(e).
Pages : 1
Bonjour tout le monde,
Je travaille sous CenOS 5.4 avec un moteur PostgreSQL 9.3.2.
Je souhaite écrire une procédure stockée dans laquelle je veux fixer le TIMEZONE à l'aide d'une variable (cTimeZone).
Ci-dessous un bout de mon code :
......
cTimeZone VARCHAR(50);
BEGIN
SELECT timezone INTO cTimeZone FROM TOTO.Site WHERE id_cgu=$1 AND id_site=$2;
IF cTimeZone IS NOT NULL AND cTimeZone!='' THEN SET TIME ZONE cTimeZone;END IF;
.....
Cela ne fonctionne pas, à l'exécution de ma procédure j'obtiens :
ERROR: invalid value for parameter "TimeZone": "ctimezone"
CONTEXT: SQL statement "SET TIME ZONE cTimeZone"
PL/pgSQL function poin(character varying,character varying,character varying,character varying,character,character) line 20 at SQL statement
********** Erreur **********
ERROR: invalid value for parameter "TimeZone": "ctimezone"
État SQL :22023
Contexte : SQL statement "SET TIME ZONE cTimeZone"
PL/pgSQL function poin(character varying,character varying,character varying,character varying,character,character) line 20 at SQL statement
Comment faire interpréter mon "cTimeZone" dans la commande SET TIME ZONE ?
Hors ligne
Il faut utiliser une requête dynamique. Jetez un oeil à PERFORM et EXECUTE.
Guillaume.
Hors ligne
Bonjour Guillaume,
C'est ce que j'avais fait en attendant, je pensais qu'il y avait "plus propre".
Merci.
Hors ligne
Pages : 1