0

我正在使用 Oracle 作为 DB 在 vb.net 上开发 Web 应用程序,并且在使用联接更新表时遇到了一些问题。

由于我是 Oracle 的新手,我无法继续查询...我一直在阅读,我知道 oracle 不支持在 UPDATE 上连接,所以我搜索了替代方案并完成了这个:

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。

4

1 回答 1

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 )
于 2013-08-21T17:21:06.107 回答