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 11/01/2011 11:40:38

INSERT + SELECT + constante

Bonjour,
soit une table t1 avec 2 champs c1 & c2
je souhaite effectuer un insert avec
pour c1 le resultat dun Select
pour c2 une constante
et, cela ne fonctionne pas (message : plus d'une ligne renvoyée par une sous-requête utilisée comme une expression)
J'ai détourné le probleme en passant par une table temporaire dans laquelle je fais l'insert puis l'update.
Question: est-ce possible d'effectuer cet INSERT en une seule operation ?

Merci.

Hors ligne

#2 11/01/2011 11:52:34

Marc Cousin
Membre

Re : INSERT + SELECT + constante

Pouvez vous mettre l'ordre SQL posant problème ?


Marc.

Hors ligne

#3 11/01/2011 12:08:19

Re : INSERT + SELECT + constante

Voici :
INSERT INTO t_164 (mc_id, ponderation)
VALUES
(
(
SELECT pes.motsclefs_id
FROM t_a_theme as t, t_a_planete_ensigne_mc as pes
WHERE t.luns_id=pes.planetesigne_id AND t.theme_id=164
),
69
)

Hors ligne

#4 11/01/2011 14:05:31

gleu
Administrateur

Re : INSERT + SELECT + constante

Il est logique que ça ne fonctionne pas. Il faut externaliser le SELECT de cette façon :

INSERT INTO t_164 (mc_id, ponderation)
SELECT pes.motsclefs_id, 69
FROM t_a_theme as t, t_a_planete_ensigne_mc as pes
WHERE t.luns_id=pes.planetesigne_id AND t.theme_id=164

Guillaume.

Hors ligne

Pied de page des forums