2013-08-21 2 views
0

DB로 Oracle과 함께 vb.net에서 웹 응용 프로그램을 개발 중이며 조인을 사용하여 테이블을 업데이트하는 데 문제가 있습니다.ORA-01779 on Join Update

저는 오라클에 초보자이기 때문에 쿼리를 계속 진행할 수 없습니다 ... 나는 읽고 있었으며 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를 사용하고있다.

답변

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)