database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 9304 게시물 읽기
No. 9304
update 시 동일 값에 대해 한건만 update 하는 방법?
작성자
이규열(forlky)
작성일
2013-06-27 11:11
조회수
9,173

 - 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 이 두개니깐 두건 다 업데이트 ㅠ

다른 방법이 있나요?

 

 

이 글에 대한 댓글이 총 1건 있습니다.

 ctid 라고 하는 의사 pseudo 칼럼을 이용합니다. 

자세한 내용은 이곳에서 ctid로 검색하면 될 것 같네요.

 

김상기(ioseph)님이 2013-06-27 13:13에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
9307postgresql에서 O_DIRECT 로 할 수 있는 방법은 없나요? [1]
정승훈
2013-07-01
9282
9306오라클쿼리 포팅중입니다. [4]
디비디비딥
2013-07-01
11850
9305연속적으로 이어진 구간의 일자구하는 방법 [1]
김민석
2013-06-28
9107
9304update 시 동일 값에 대해 한건만 update 하는 방법? [1]
이규열
2013-06-27
9173
9303쿼리 로그에 관한 질문입니다. [2]
김문수
2013-06-25
9650
9302PostgreSQL 에서 증분백업은 지원하지않나요 ? [2]
아지랑이
2013-06-24
9563
9301dblink 설치 문제 [1]
이성필
2013-06-21
10207
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다