즉 대강의 형태는 다중 FOR NEXT문과 같습니다.
DECLARE XXX CURSOR FOR --> 먼저 XXX를 선언하고 SELECT * FROM table1
OPEN XXX FETCH cur_bugum INTO @XXX
while @@sqlstatus <> 2 begin DECLARE YYY CURSOR FOR --> YYY를 선언하고 SELECT * FROM table2
OPEN YYY
FETCH YYY INTO @YYY
while @@sqlstatus <> 2 begin SELECT ~~~~ --> XXX와 YYY에서 패치해온 한 행을 가지고 비교 작업한다.
FETCH YYY INTO @YYY
end CLOSE YYY --> XXX의 첫행과 YYY의 모든행과 비교가 끝났다. FETCH XXX INTO @XXX --> XXX의 두번째 행을 패치해온다. end --> XXX의 두번째 행을 가지고 다시 YYY를 선언할 준비를 한다. CLOSE XXX END COMMIT TRANsaction;
그런데 안쪽 커서의 2번쨰부터는 생성을 안하고 그냥 빠져나옵니다. 다른 DB에서는 다 지원이
되었던 걸로 기억나는데 사이베이스에서는 안되는 것일까요. 못하는 것알까여???
|