Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 22/09/2014 11:33:21
- mortimer.pw
- Membre
SET TIME ZONE &variable
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
#2 22/09/2014 22:55:29
- gleu
- Administrateur
Re : SET TIME ZONE &variable
Il faut utiliser une requête dynamique. Jetez un oeil à PERFORM et EXECUTE.
Guillaume.
Hors ligne
#3 24/09/2014 10:43:21
- mortimer.pw
- Membre
Re : SET TIME ZONE &variable
Bonjour Guillaume,
C'est ce que j'avais fait en attendant, je pensais qu'il y avait "plus propre".
Merci.
Hors ligne
Pages : 1