#1 Fri 05 June 2009 14:52
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
ORA-01427 sur une requête update
Aloha
J'ai une table R_VOIE dans laquelle je trouve toutes les infos importantes de mes voies, une table R_TRONCO avec la géométrie de mes tronçons de voie et une table R_TRONCO_RELATION qui me sert à relier les deux (R_VOIE 1-n R_TRONCO_RELATION 1-1 R_TRONCO).
Je cherche à mettre à jour un champ de R_TRONCO avec R_VOIE :
Code:
UPDATE A_REIMS.R_TRONCO R_TRONCO
SET "code_riv" =
(SELECT R_VOIE.CODRUE
FROM ( A_REIMS.R_TRONCO_RELATION R_TRONCO_RELATION
INNER JOIN
A_REIMS.R_VOIE R_VOIE
ON (R_TRONCO_RELATION.GID_A = R_VOIE.GID))
INNER JOIN
--A_REIMS.R_TRONCO
R_TRONCO
ON (R_TRONCO_RELATION.GID_D = R_TRONCO.GID)
WHERE (R_TRONCO_RELATION.CLASS = 'R_VOIE'))
-- AND (R_TRONCO."code_riv" != R_VOIE.CODRUE))
WHERE R_TRONCO.GID IN
(SELECT R_TRONCO.GID
FROM ( A_REIMS.R_TRONCO_RELATION R_TRONCO_RELATION
INNER JOIN
A_REIMS.R_VOIE R_VOIE
ON (R_TRONCO_RELATION.GID_A = R_VOIE.GID))
INNER JOIN
A_REIMS.R_TRONCO R_TRONCO
ON (R_TRONCO_RELATION.GID_D = R_TRONCO.GID)
WHERE (R_TRONCO_RELATION.CLASS = 'R_VOIE')
AND R_TRONCO."code_riv" IN ('172', '584', '105', '055', '9999'))Mais mon premier select renvoie plusieurs ligne, mais une seule par R_TRONC.GID. Comment lui expliquer laquelle prendre ?
D'avance, merci, merci beaucoup.
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne
#2 Fri 05 June 2009 15:14
Re: ORA-01427 sur une requête update
Bonjour,
Si ta relation entre les deux tables est bien R_VOIE 1-n R_TRONCO_RELATION, pourquoi utiliser un INNER JOIN ce qui risque de multiplier les lignes ?
Je me trompe ?
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#3 Fri 05 June 2009 15:29
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: ORA-01427 sur une requête update
En tous les cas les lignes ne sont pas multipliées.
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne
#4 Tue 09 June 2009 15:40
Re: ORA-01427 sur une requête update
Bonjour,
À priori il n'est pas possible de faire ce genre de chose sous postgresql. Je vient d'avoir une problématique assez similaire ![]()
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne


