update 초보 질문입니다 0 2 1,639

by 정형진 [SQL Query] [2010.11.06 00:33:59]




AA테이블    

 updatedt(날짜)  rtid  usedyn(참조) 
 201011030000  3040700  Y
 201011040000    3040600  Y

BB테이블

 rtid  useyn(현재
 3040700   Y
 3040600  N


두개 테이블 조인해서  같은 rtid중 usedyn(참조)와 useyn(현재) 비교해서 다른것들만 나오게했습니다

예를들어   where 절   rtid=routeid and usedyn(참조)<> useyn((현재)  이런식 으로 했습니다

usedyn(참조)값을 기준으로   useyn(현재)값을  변경해야됩니다

 3040600   Y (참조)      3040600     N(현재) <-------- Y으로 변경해야됩니다    

근데 이런row들이 여러개인데... update문을 어떻게 해야되죠?  

 조인된 테이블 update... 쿼리좀 짜주세요

by finecomp [2010.11.06 10:52:38]
BB:AA = 1:n관계인것처럼 보이는데,
BB.rtid하나에 연결되는 AA.usedyn이 여러개인 경우 어떤 값으로 BB.useyn을 변경할지 먼저 정해져야합니다.

by 손님 [2010.11.07 13:27:28]
begin for c in
( select rtid, usedyn
from aa테이블;
)loop
update bb테이블 set usedyn = c.usedyn where rtid = c.rtid;
end loop;
end;

이렇게 하면될거 같은데 테스트후 사용하세요.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입