해당 에러는 한 Record를 Update할려고 하는데
여러 Record들의 값들이 들어왔다는 뜻입니다.
우선 이 쿼리문을 보면 Where 절이 없죠? 그래서 에러가 난 겁니다.
Set 절에 포함된 Select... '01' 까지의 SubQuery문을 분리해서 실행시켜 보세요.
그러면 여러 행(Record)이 나올 겁니다.
따라서 Update 문의 Where 절에서도 그 행만큼의 제약문을 추가하면 되죠.
예를 들면 아래 문장을 마지막에 추가해 보세요.
Where (user_id, group_code, field_id, authority) in
(SELECT a.user_id, c.group_code, c.field_id, c.authority
FROM sm_users_tb a, sm_deggroup_tb b, sm_funcgroup_tb c
WHERE a.user_degree = b.user_degree
and b.group_code = c.group_code
and c.group_code = '01')
쿼리 손 놓은지 제법 되었는데.. 혹시 에러가 난 부분이 있으면 알려 주세요. ^^
|