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

#1 29/07/2015 11:55:39

mrbrams
Membre

Concaténation de deux champs dans la base de donnée.

bonjour,
Je travaille sur une base de données postgresql, et j'aimerais créer un automatisme pour pouvoir concaténer deux champs dans un nouveau champs que je viens de créer.
J'ai pensé une procédure stockée ou un truc du genre .

Avez-vous des idées?

Merci beaucoup de votre aide

Hors ligne

#2 29/07/2015 12:11:01

rjuju
Administrateur

Re : Concaténation de deux champs dans la base de donnée.

Pourquoi ne pas les concaténer à la sélection ? ou créer une vue pour ça.

Hors ligne

#3 29/07/2015 14:05:50

mrbrams
Membre

Re : Concaténation de deux champs dans la base de donnée.

J'ai besoin d'un champs unique avec la concaténation de deux champs existants

Hors ligne

#4 29/07/2015 18:10:38

rjuju
Administrateur

Re : Concaténation de deux champs dans la base de donnée.

J'ai bien compris, mais plutôt que de le maintenir à chaque modification, vous pouvez faire

SELECT champ1, champ2, champ1 || champ2 AS le_champ_concaténé

qui n'occasionnera pas de surcoût en terme de volume de données ni de temps de mise à jour.

Hors ligne

#5 30/07/2015 08:41:06

mrbrams
Membre

Re : Concaténation de deux champs dans la base de donnée.

Je sais faire ça, ce que je veux c'est de remplir le champs .

Hors ligne

#6 30/07/2015 09:45:43

rjuju
Administrateur

Re : Concaténation de deux champs dans la base de donnée.

Dans ce cas il faut créer un trigger, voir http://docs.postgresql.fr/9.4/plpgsql-trigger.html

Hors ligne

#7 30/07/2015 16:07:44

cedric
Membre

Re : Concaténation de deux champs dans la base de donnée.

mrbrams a écrit :

J'ai besoin d'un champs unique avec la concaténation de deux champs existants

Si le but est de maintenir une contrainte:

CREATE UNIQUE INDEX ON nom_table ( (champs1 || champs2) );

Pas besoin de matérialiser dans la table....


Cédric Villemain +33 (0)6 20 30 22 52
http://2ndQuadrant.fr/
PostgreSQL: Support 24x7 - Développement, Expertise et Formation

Hors ligne

Pied de page des forums