- oracle 같은 경우
update test
set status=y
where file_seq=123
and rownum=1
이런식으로 하면 file_seq가 중복 이더라고 1건만 update가 되는데
-postgresql 같은 경우는 어떤식으로 처리 하나요?
update test set status=y from (select file_seq,row_number() over (order by file_seq desc)as rn from test where file_seq=123 order by file_seq desc limit 1)x
where x.file_seq=a.file_seq
update test set status=y where file_seq in(select file_seq from test where file_seq=123 order by file_seq desc limit 1)
이런식으로 하면 가져오는 값은 123 하나지만 최종 비교 하면 123 이 두개니깐 두건 다 업데이트 ㅠ
다른 방법이 있나요?
|