GOLDILOCKs 는 프로시져의 효율적인 기능을 위해 아래와 같은 함수를 지원합니다.
함수 |
설명 |
IF |
주어진 조건들 중 참인 것에 해당하는 구문을 수행 |
CASE | Simple CASE Searched CASE - WHEN 절 이후에 변수와 표현을 계산하여 맞는 부분을 실행 |
BASIC LOOP |
LOOP 와 END LOOP 키워드로 반복 수행할 일련의 구문을 수행 |
FOR LOOP |
주어진 범위의 정수 개수 만큼 일련의 구문을 수행 |
WHILE LOOP |
주어진 조건이 참인 동안 계속 구문을 수행 |
IF
gSQL> DECLARE 2 V1 INTEGER := 1; 3 BEGIN 4 IF V1 > 0 THEN 5 DBMS_OUTPUT.PUT_LINE( 'V1 = ' || V1 ); 6 ELSIF V1 = 0 THEN 7 DBMS_OUTPUT.PUT_LINE( 'V1 = ' || V1 ); 8 ELSE 9 DBMS_OUTPUt.PUT_LINE( 'V1 = ' || V1 ); 10 END IF; 11 END; 12 / V1 = 1 Anonymous PL block executed.
CASE
Simple CASE Statement
gSQL> DECLARE 2 V1 VARCHAR(1) := '2'; 3 BEGIN 4 CASE V1 WHEN '0' THEN DBMS_OUTPUT.PUT_LINE ('Result = 0'); 5 WHEN '1' THEN DBMS_OUTPUT.PUT_LINE ('Result = 1'); 6 WHEN '2' THEN DBMS_OUTPUT.PUT_LINE ('Result = 2'); 7 ELSE DBMS_OUTPUT.PUT_LINE ('Result = Other'); 8 END CASE; 9 END; 10 / Result = 2 Anonymous PL block executed.
Searched CASE Statement
gSQL> DECLARE 2 V1 VARCHAR(1) := '2'; 3 BEGIN 4 CASE WHEN V1 = 0 THEN DBMS_OUTPUT.PUT_LINE ('Result = 0'); 5 WHEN V1 = 1 THEN DBMS_OUTPUT.PUT_LINE ('Result = 1'); 6 WHEN V1 = 2 THEN DBMS_OUTPUT.PUT_LINE ('Result = 2'); 7 ELSE DBMS_OUTPUT.PUT_LINE ('Result = OTHER'); 8 END CASE; 9 END; 10 / Result = 2 Anonymous PL block executed.
BASIC LOOP
gSQL> DECLARE 2 V1 INTEGER := 1; 3 BEGIN 4 LOOP 5 DBMS_OUTPUT.PUT_LINE( 'V1 = ' || V1 ); 6 V1 := V1 + 1; 7 EXIT WHEN V1 > 3; -- Escape Condition 8 END LOOP; 9 END; 10 / V1 = 1 V1 = 2 V1 = 3 Anonymous PL block executed.
FOR LOOP
gSQL> DECLARE 2 V1 INTEGER; 3 BEGIN 4 FOR V1 IN 1 .. 3 LOOP 5 DBMS_OUTPUT.PUT_LINE( 'V1 = ' || V1 ); 6 END LOOP; 7 END; 8 / V1 = 1 V1 = 2 V1 = 3 Anonymous PL block executed.
WHILE LOOP
gSQL> DECLARE 2 V1 INTEGER := 1; 3 BEGIN 4 WHILE V1 < 4 LOOP 5 DBMS_OUTPUT.PUT_LINE( 'V1 = ' || V1 ); 6 V1 := V1 + 1; 7 END LOOP; 8 END; 9 / V1 = 1 V1 = 2 V1 = 3 Anonymous PL block executed.
'Database > Goldilocks' 카테고리의 다른 글
[GOLDILOCKS] PL/SQL Exception 예외처리하기 (0) | 2018.08.21 |
---|---|
[GOLDILOCKS] PL/SQL DBMS_OUTPUT 옵션 사용하기 (0) | 2018.08.21 |
[GOLDILOCKS] ERR-24000(19010): Invalid cursor state : A cursor was open on the StatementHandle. (0) | 2018.08.21 |
[GOLDILOCKS] PL/SQL 암시적, 명시적 커서 사용하기 (0) | 2018.08.20 |
[GOLDILOCKS] PL/SQL 의 데이터 타입 변수 선언하기 (0) | 2018.08.20 |