페이지 인덱싱을 위해서 다음과 같은 프로시져들을
만들었습니다.
create procedure initautonum()
define global s int default 0 ;
let s = 0;
end procedure;
create procedure autonum ()
returning int;
define global s int default 0;
let s = s + 1;
return s;
end procedure;
create procedure nonenum ()
returning int;
define global s int default 0;
return s;
end procedure;
만들고 난후 아래와 같이 실행하면 이상없이 잘 10개씩
돌아갑니다.
execute procedure initautonum();
select bonbu_no
from office
where autonum() > 10 and nonenum() < 20
하지만 테이블 조인이 들어가면 이상하게 화면에 10개가 나타나지
않습니다.
어떨때는 1개가 어떨때는 7개 어떨때는 10개 전부..
execute procedure initautonum();
select bonbu_no
from office a, name n
where a.office_cd = n.office_cd
and autonum() > 10 and nonenum() < 20
이상하게 생각해서
execute procedure initautonum();
select bonbu_no,autonum() <= autonum 을 select 에
넣어줌.
from office a, name n
where a.office_cd = n.office_cd
이러면 1부터 쫙 제대로 나오지만 또
execute procedure initautonum();
select bonbu_no
from office a, name n
where a.office_cd = n.office_cd and autonum() < 10
이러면 나오지 않는군요 인포믹스로 페이징 처리 제대로 해보신분
있으면 답변 부탁드립니다.
|