ORA-01779加入更新

时间:2013-08-21 17:02:14

标签: oracle join sql-update

我正在使用Oracle作为数据库在vb.net上开发一个Web应用程序,我在使用连接更新表时遇到了一些问题。

由于我是甲骨文的新手,我无法继续查询...我一直在阅读,我知道oracle在UPDATE上不支持Joins,所以我搜索了替代品我完成了这个:

UPDATE (SELECT pda.id_propuesta
          FROM abd_prop_det_archivos pda
         INNER JOIN abd_participantes_invitados pi
            ON (pda.id_solicitud = pi.id_solicitud)
           AND pi.id_solicitud = :id_solicitud
           AND pi.rut = :rut)
SET id_propuesta = :id_propuesta

我正在使用Oracle 11g。

1 个答案:

答案 0 :(得分:3)

您似乎需要WHERE EXISTS子句

UPDATE abd_prop_det_archivos pda 
   SET ID_PROPUESTA = :ID_PROPUESTA
 WHERE EXISTS( SELECT 1
                 FROM ABD_PARTICIPANTES_INVITADOS pi
                WHERE pda.id_solicitud = pi.id_solicitud) 
                  AND pi.id_solicitud = :id_solicitud
                  AND PI.RUT = :RUT )