PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

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

#1 31/01/2017 15:56:35

newline

Bonjour,

Je voudrais faire qqch comme ça :

select 'insert into ' || table_name || '\n' || 'values' etc...

mais le \n ne marche pas.

Comment faire ?

Merci

Hors ligne

#2 31/01/2017 18:32:54

Marc Cousin
Membre

Re : newline

Bonjour

Deux façons… soit vous mettez un vrai retour de chariot:

select 'insert into ' || table_name || '
 || 'values'

Soit vous lui dites de traiter la chaîne comme ayant des «escapes» similaires au C:

select 'insert into ' || table_name || E'\n' || 'values'

Dernière modification par Marc Cousin (31/01/2017 18:33:06)

Hors ligne

#3 31/01/2017 19:27:31

Re : newline

Merci !

Hors ligne

#4 01/02/2017 13:44:42

Re : newline

Merci mais

1 ne marche pas

et 2 ajoute un '+' avant d'aller à la ligne

Hors ligne

#5 01/02/2017 16:19:02

Marc Cousin
Membre

Re : newline

La première, j'ai oublié un ' à la ligne du dessous

select 'insert into ' || table_name || '
' || 'values'

Le + que vous voyez, c'est comme ça que psql vous affiche la présence d'un retour de chariot (j'imagine que vous utilisez psql ?)

Hors ligne

#6 01/02/2017 16:24:08

Re : newline

merci mais même comme ça, je reçois ce '+'

je veux écrire un script qui me génère des triggers pour toutes les tables d'une db

un désir naturel et légitime

comment puis-je me débarasser de ce '+' intempestif

merci pour votre attention

Hors ligne

#7 01/02/2017 16:27:28

Marc Cousin
Membre

Re : newline

En demandant à psql de ne pas l'afficher… il ne l'affiche que si vous êtes en mode «aligné» (le mode par défaut).

Vous pouvez soit faire la commande \a , soit démarrer psql avec l'option -A. Si c'est pour produire une série de commande, essayez "psql -qAt" (silencieux, non aligné, pas d'entête de colonne)

Hors ligne

#8 01/02/2017 16:36:21

Re : newline

ça marche !

merci !

Hors ligne

Pied de page des forums