업데이트 처리시 group by문제 0 2 9,234

by 손님 [SQL Query] ORA-01733 [2009.12.07 16:10:30]


update   /*+  bypass_ujvc  */
(
select aft_decl_sta_fg,decl_sta_fg from
(select distinct A.mem_mgmt_no, max(A.mem_hst_no)
mem_hst_no,MAX(A.AFT_DECL_STA_FG) AFT_DECL_STA_FG,
MAX(B.DECL_STA_FG) DECL_STA_FG
from tbm_mem_hst A,TBM_MEM_DET B
WHERE A.MEM_MGMT_NO = B.MEM_MGMT_NO
AND AFT_ORG_CD = '00248'
group by A.mem_mgmt_no  )  a
)                                      
set
DECL_STA_FG = AFT_DECL_STA_FG


update 처리시 group by시 조인을 이용한 업데이트가 안되는지 질문을 드리고 싶습니다..

그룹바이를 안할시에는 업데이트가 되지만 저런경우에는 업데이트가 되지를 않네요

error

ORA-01733: 가상 열은 사용할 수 없습니다

ORA-01732: 뷰에 대한 데이터 조작이 부적합합니다

by 마농 [2009.12.07 16:43:18]
뷰를 통한 업데이트를 하려면 업데이트 대상 테이블의 레코드가 변형이 되면 안됩니다.
group by, distinct 등을 사용하면 원래의 값이 아닌 변형된 결과가 나오게 되므로 업데이트 할 수 없습니다.

by 작성자 [2009.12.08 09:40:08]
답변 감사합니다..많은 도움이 되었습니다
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입