프로시져 커서에 관해서 질문드립니다. 0 3 1,202

by 에브리데이나잇쇼 [2015.07.22 17:07:44]


프로시져에서 for문으로 커서돌아갈때

조건을만족하지 않을경우 커서종료하지않고 다음 행으로 넘어가게 하려는데요

exit로 쓰는건가요?

by 마농 [2015.07.22 17:45:25]
-- 1. 아예 IF 문을 크게 쓰는 방법
LOOP
    IF 1 = 1 THEN
        -- 작업영역 --
    ELSE
        -- 제외영역 --
    END IF;
END LOOP;
-- 2. GOTO 문 사용 가능
LOOP
    IF 1 != 1 THEN
        GOTO exit_step;
    END IF;
    << work_area >>
    -- 작업영역 --
    << exit_step >>
    -- 제외영역 --
    NULL;    -- 아무것도 없으면 에러나서 그냥 추가한 NULL;
END LOOP;

 


by 에브리데이나잇쇼 [2015.07.23 12:40:18]

감사합니다.


by 야신 [2015.07.22 18:52:56]
SQL> DECLARE
2 x NUMBER := 0;
3 BEGIN
4 LOOP -- After CONTINUE statement, control resumes here
5 DBMS_OUTPUT.PUT_LINE ('Inside loop: x = ' || TO_CHAR(x));
6 x := x 1;
7
8 IF x < 3 THEN
9 CONTINUE;
10 END IF;
11
12 DBMS_OUTPUT.PUT_LINE
13 ('Inside loop, after CONTINUE: x = ' || TO_CHAR(x));
14
15 EXIT WHEN x = 5;
16 END LOOP;
17
18 DBMS_OUTPUT.PUT_LINE (' After loop: x = ' || TO_CHAR(x));
19 END;
20 /
Inside loop: x = 0
Inside loop: x = 1
Inside loop: x = 2
Inside loop, after CONTINUE: x = 3
Inside loop: x = 3
Inside loop, after CONTINUE: x = 4
Inside loop: x = 4
Inside loop, after CONTINUE: x = 5
After loop: x = 5

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