열쉬미 다 쓰고 나서 저장했더니 에러가 나더군요~~ 쩝....
Sybase ASE에서는 rownum과 같은 기능을 해주는 function은 없습니다...
(Sybase ASIQ, ASA는 지원되더군요... number(*)인가 하는 함수를 써서요...)
전에 이것땜시 고민 점 했었는데여~~
먼저, 테이블을 만드실때 identity속성을 부여하는 방법이 있구요...
create table testtable (a numeric(10,0) identity,~~~~)
그 담엔 여러 방법을 합쳐서 하는 방법인데여~~
하나의 쿼리로는 안되구요... 여러개 쿼리를 섞어서......
가장 좋은 방법은(게시판의 형태에 따라 틀리겠지만) temp table, identity, set rowcount를 같이 써서 사용하는 것 같습니다...
먼저 데이타를 다음과 같이
set rowcount 20
select bbstable.* , row_id=identity(5) into #temptable
from bbstable
order by ~~~
처럼 해서 temp table을 만드시구요....
(템프 테이블에 io가 많이 발생할 수 있으니까요... 키 컬럼만 만들었다가
다시 조인하는 방법도 있을 것 같네여..... 예를 들어 페이지 점프하는 경우에는 데이타가 많을때는 큰 테이블을 만들수도 있으니까요...)
row_id컬럼에 일련된 값들이 들어가 있을 겁니다...
이렇게 하는 방법이 가장 좋더군요...
혹, 다른 방법 아시는 분 있슴 리플 달아주시구요...
암튼 수고하세여~~
-- lesiles 님이 쓰신 글:
>> 사이베이스에서는 rownum과 같은 기능을 할 수 있는 함수가 없는지요? 또 없다면 구현할 방법은 어떻게 해야되지요? 게시판을 만들려구 그러는데 난감하군요
|