Sybase 에서 ROWID 함수 결과에 대해 질문드립니다. 0 2 2,639

by 이승주 [DB 기타] [2016.08.30 21:36:28]


원래 ROWID 함수를 사용하면 해당 테이블에 대한 ROW를 반환해주는걸로 알고 있습니다.

아래는 해당 함수 정의 입니다.

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc38151.1540/doc/html/san1278453138632.html

 

테이블 명을 A라고 가정했을 때 아래와 같은 쿼리를 날렸을 경우

 

SELECT ROWID("A") FROM A 

1

2

3

.

.

.

 

결과가 위 처럼 나와야 할텐데 제 DB 의 경우 아래와 같은 결과가 나옵니다.

4,222,124,663,832,576 

4,222,124,663,832,577 

4,222,124,663,832,578 

4,222,124,663,832,579 


보시다시피 4,222,124,663,832,576 라는 숫자부터 나오더라구요..

 

게다가 이 값은 테이블에 따라 달라지는데 1부터 나오는 경우는 없고 항상 저렇게 큰 숫자부터 1씩 늘어나서 나옵니다.

 

SQLite Database 에서는 잘 되던데 Sybase 왜 이러는지 모르겠습니다.

 

답변해주시면 감사하겠습니다.

by 마농 [2016.08.31 08:58:59]

ROWID 는 레코드 주소 입니다.
순번은 ROWNUM 을 이용하셔야 합니다.
그런데 SYBASE 에 ROWNUM 이 있나 모르겟네요?


by 이승주 [2016.08.31 10:23:25]

아 주소를 보여주는 함수였군요. 왜 공식 사이트에는 값을 보여주는걸로 알려준건지 모르겠네요..;;

다시 검색해서 SELECT NUMBER(*) FROM A 라는 방법으로 해결했습니다 감사합니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입