728x90
반응형
#포스트그레 CTID 사용해서 row 중복 제거하는 방법 (Oracle rowid와 차이점)
#CTID 란 ?
-CTID는 테이블 내의 특정 row의 물리적 위치를 나타냅니다.
-컬럼타입: tid(typle id)
#Oracle의 rowid와 차이점
-oracle의 rowid는 해당 row가 delete 되거나 update 되어도 변하지 않습니다
-postgresql의 ctid는 오라클의 rowid와 달리 지속성을 가지고 있지 않으므로 update 시 값이 변합니다.
#ctid 사용방법
-select 시 ctid를 추가해줍니다.
select ctid, * from member;
#결과
#ctid를 rownum으로 확인하는 방법
-postgresql row_number() 함수를 사용하여 rownum을 생성하여 사용합니다.
select a.*
from (
select ctid, name, age, row_number() over(order by age asc) as rownum from member
) a
;
#결과
728x90
반응형
'IT > PostgreSQL' 카테고리의 다른 글
[PostgreSQL] - 포스트그레 SQL Error [22P02]: ERROR: invalid input syntax for type 에러 해결 방법 (0) | 2023.01.04 |
---|---|
[PostgreSQL] - 포스트그레 bool 데이터 타입(Boolean Type) 사용 방법(true, false, 'y', 'n') (0) | 2023.01.04 |
[PostgreSQL] - 포스트그레 밀리초(ms), 마이크로초(us) 추출하는 방법 (0) | 2022.12.04 |
[PostgreSQL] - 포스트그레 날짜/시간 추출 EXTRACT() 함수 사용 방법 (0) | 2022.12.03 |
[PostgreSQL] - 포스트그레 날짜/시간 추출 DATE_PART() 함수 사용 방법 (0) | 2022.12.03 |
댓글