From: | Guillaume Lelarge <guillaume(at)lelarge(dot)info> |
---|---|
To: | Samuel ROZE <samuel(dot)roze(at)aliceadsl(dot)fr> |
Cc: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Re: pgplsql: Substitution de variables |
Date: | 2008-09-02 19:19:49 |
Message-ID: | 48BD91D5.9030707@lelarge.info |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
Samuel ROZE a écrit :
> Bonjour à tous (encore une fois :) ),
>
> Je suis actuellement confronté à un problème que je trouve assez bizare,
> lors de la substitution de variables dans une requête SELECT :
>
> ----------
> [...]
> SELECT (timestamp with time zone "v_new_time" - timestamp with time zone
> "v_temps") INTO v_interval;
> [...]
> ----------
>
> Cette simple commande SELECT ... INTO donne cette erreur :
>
> ----------
> 7-statistiques-triggers.sql:116: ERREUR: erreur de syntaxe sur ou près
> de « $1 » at character 37
> QUERY: SELECT (timestamp with time zone $1 - timestamp with time zone
> $2 )
> CONTEXT: SQL statement in PL/PgSQL function "parse_donnees_brutes" near
> line 66
> ----------
>
> Je ne comprend pas... J'ai essayer avec des guillements simple, ça
> marche mais après lors de l'exécution il y a un problème logique qui me
> dit par exemple que "v_new_time n'est pas du type timestamptz"...
>
Logique car un guillemet simple indique une chaîne de caractères, et la
chaîne de caractères 'v_new_time' ne ressemble en rien à une valeur de
type timestamp.
> Pouvez-vous m'aider ou me donner des pistes ?
>
Ton problème vient de la façon de faire ton cast. À mon avis, c'est pas
standard du tout. Bref, tu as deux possibilités :
* soit la syntaxe "::"
select d1::"timestamp with time zone" - d2::timestamp with time zone
into v;
* soit utiliser cast
Quelque soit ton choix, pense à placer le INTO après le SELECT,
autrement dit :
select into v d1::timestamp with time zone
- d2::timestamp with time zone ;
--
Guillaume.
http://www.postgresqlfr.org
http://dalibo.com
From | Date | Subject | |
---|---|---|---|
Next Message | Christophe Chauvet | 2008-09-02 20:04:10 | Re: Performance sur des fonctions plpgsql |
Previous Message | Samuel ROZE | 2008-09-02 17:42:35 | pgplsql: Substitution de variables |