테이블 두개를 업데이트 하고 싶어서 아래와 같은 방법으로 했었습니다. UPDATE FL_PROJECT as PJT, FL_PJT_CODE as PJC SET PJT.PJT_CLIENT =#{pjtClient}, PJT.PJT_NM = #{pjtNm}, PJT.PJT_EMP_LIST = #{pjtEmpList}, PJT.PJT_PM = #{pjtPm}, PJT.PJT_START_DATE = #{pjtStartDate}, PJT.PJT_END_DATE =#{pjtEndDate}, PJT.PJT_END_YN = #{pjtEndYn}, PJT.PJT_ST_C = #{pjtStC}, PJC.PJT_ST_C = #{pjtStC}, PJC.PJT_DIV.C = #{pjtDivC}, PJC.PJT_ORG_C = #{pjtOrgC} WHERE PJC.PJT_C = #{pjtC}
위 방법은 오라클에서 지원하지 않는 방식이라고 안되는 것 같습니다.
2번쨰로는
UPDATE FL_PJT_CODE PJC RIGHT JOIN FL_PROJECT PJT ON(PJT.#{pjtC} = PJC.#{pjtC}) SET PJT.PJT_CLIENT =#{pjtClient}, PJT.PJT_NM = #{pjtNm}, PJT.PJT_EMP_LIST = #{pjtEmpList}, PJT.PJT_PM = #{pjtPm}, PJT.PJT_START_DATE = #{pjtStartDate}, PJT.PJT_END_DATE =#{pjtEndDate}, PJT.PJT_END_YN = #{pjtEndYn}, PJT.PJT_ST_C = #{pjtStC}, PJC.PJT_ST_C = #{pjtStC}, PJC.PJT_DIV.C = #{pjtDivC}, PJC.PJT_ORG_C = #{pjtOrgC} WHERE FL_PJT_CODE.PJT_C = #{pjtC}
위와같이 조인하면 된다는 글을 해봤는데 역시나 안됩니다.
어떻게 해야 테이블 두개를 동시에 업데이트를 할 수 있을까요? 오라클은 12c 쓰고 있습니다.
많이 이상합니다.
조인을 하는데 조인 조건도 없고?
다중테이블 동시 업데이트도 불가능 합니다.
http://gurubee.net/article/79308
UPDATE fl_project SET pjt_client = #{pjtClient} , pjt_nm = #{pjtNm} , pjt_emp_list = #{pjtEmpList} , pjt_pm = #{pjtPm} , pjt_start_date = #{pjtStartDate} , pjt_end_date = #{pjtEndDate} , pjt_end_yn = #{pjtEndYn} , pjt_st_c = #{pjtStC} WHERE pjt_c = #{pjtC} ; UPDATE fl_pjt_code SET pjt_st_c = #{pjtStC} , pjt_div.c = #{pjtDivC} , pjt_org_c = #{pjtOrgC} WHERE pjt_c = #{pjtC} ;