2011-04-06 3 views
0

j'utilise UPDATE pour mettre à jour tous les enregistrements de la table avec la valeur d'une autre table:Mise à jour avec plusieurs lignes

UPDATE x.ADR_TEMP SET LOCATIONID = (SELECT ID FROM x.OBJECTRELATIONSHIP WHERE PROPERTYCLASS = 'PHYSICALLOCATION') 

dans les deux tableaux sont le même nombre d'enregistrements. J'ai juste besoin de lire l'id d'une table et de les mettre dans une autre.

J'ai erreur: ORA-01427: single-row subquery returns more than one row

Je suis nouveau dans ce sujet et suspect que la solution est très simple. S'il vous plaît aidez-moi

+0

x.ADR_TEMP et x.OBJECTRELATIONSHIP ont des relations comme des clés étrangères? – Bastardo

+0

Comment sont liés 'ADR_TEMP' et' OBJECTRELATIONSHIP' entre eux? –

Répondre

0
UPDATE x.ADR_TEMP SET LOCATIONID = (
            SELECT ID 
            FROM x.OBJECTRELATIONSHIP 
            WHERE PROPERTYCLASS = 'PHYSICALLOCATION' AND x.ADR_TEMP.relatedKey = x.OBJECTRELATIONSHIP.relatedKey) 

si vos tables sont reliées les unes aux autres avec une certaine façon comme celui-ci (relatedKey est une colonne qui se rapporte à la deuxième table mentionné), vous pouvez essayer celui-ci. (Pas sûr ou parfait)

Questions connexes