Vous n'êtes pas identifié(e).

#1 Re : Général » Passer un paramètre à un script en ligne de commande (psql) » 09/03/2012 16:05:11

Merci Marc, pour cette réponse rapide. smile

Ça marche ! J'avais essayé psql --set myparameter='hello', mais sans les backslash, auxquels je n'avais pas pensés.

#2 Général » Passer un paramètre à un script en ligne de commande (psql) » 09/03/2012 15:10:47

lapinos03
Réponses : 2

Bonjour !

Je voudrais passer un paramètre à mon script SQL qui est lancé à partir de la ligne de commande via PSQL :

psql -d test -f test_myparam.sql --set myparameter=hello

Et dans le script, quelque chose comme :

create or replace function test_param(param text)
returns text
language 'plpgsql'
as $$
begin
	etc...
end;
$$;


select test_param( :myparameter );

Mais voilà, il interprête :myparameter comme un nom de colonne (colonne hello - qui n'existe pas évidemment) alors ce doit être un string. J'ai essayé les quote_literal, ||, cast( as text),  ::text, mais rien n'y fait. Il doit sûrement y avoir une solution syntaxique que je ne connais pas.

Merci de vos lumières!
/Lapi

Pied de page des forums

Propulsé par FluxBB