Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 31/01/2017 15:56:35
- Michel Depiesse
- Membre
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)
Marc.
Hors ligne
#3 31/01/2017 19:27:31
- Michel Depiesse
- Membre
Re : newline
Merci !
Hors ligne
#4 01/02/2017 13:44:42
- Michel Depiesse
- Membre
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 ?)
Marc.
Hors ligne
#6 01/02/2017 16:24:08
- Michel Depiesse
- Membre
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)
Marc.
Hors ligne
#8 01/02/2017 16:36:21
- Michel Depiesse
- Membre
Re : newline
ça marche !
merci !
Hors ligne