본문 바로가기

Database

PL/SQL Tutorial - CONTINUE 반복 도중 특정 조건일때 중단하게 하려면 어떻게 해야할까? 바로 CONTINUE를 사용하면 된다. IF condition THEN CONTINUE; END IF; IF 문에서는 기본적으로 이렇게 사용되며 LOOP, FOR LOOP, WHILE LOOP 모두 적용된다. BEGIN FOR n_index IN 1 .. 10 LOOP -- skip odd numbers IF MOD( n_index, 2 ) = 1 THEN CONTINUE; END IF; DBMS_OUTPUT.PUT_LINE( n_index ); END LOOP; END; 익명 블록이 완료되었습니다. 2 4 6 8 10 FOR LOOP 안에서 mod(n_index, 2) = 1 이 true인 경우에는 continue 해주고 나머지는 출력해주어 2..
PL/SQL Tutorial - LOOP LOOP LOOP statements; END LOOP loop_label; While Loop, For Loop가 있으며 위 루프는 기본 루프이다. EXIT, EXIT WHEN이 없으면 무한 루프가 된다. 루프를 사용하기 좋을 때 - 본문을 한 번 이상 사용하고 싶을 때 - 몇 번이나 실행해야 하는지 모를 때 1) EXIT statement 원하는 때에 루프 밖으로 나가게 할 수 있다. LOOP IF condition THEN EXIT; END IF; END LOOP; 실제로 사용해본다. DECLARE n_counter NUMBER := 0; BEGIN LOOP n_counter := n_counter + 1; IF n_counter > 3 THEN EXIT; END IF; DBMS_OUTPUT.PUT..
PL/SQL Tutorial - NULL PL/SQL에서 NULL은 이렇게 표현한다. NULL은 제어를 전달하는 것을 빼고 아무것도 수행하지 않는다. NULL; NULL 사용의 장점 - 코드 가독성 향상 - GOTO 문에 대한 타겟 제공 - 서브 프로그램을 위한 placeholders 생성 1. 코드 가독성 향상 IF job_title = 'Sales Representative' THEN send_email; END IF; 위 예시는 job_title이 Sales Representative일 때 email을 보내는 IF문이다. 하지만 Sales가 아닌 직업의 경우엔 어떤 일이 벌어질까? 우리는 명시적으로 '아무런 일도' 생기지 않는다는 것을 알고 있지만 어떤 상황에서는 이해가 어려울 수도 있다. 이럴 때에 NULL을 통해 표시해주는 것이다. I..
PL/SQL Tutorial - GOTO 다른 언어의 GOTO랑 비슷하다. LABEL이 지정된 block이나 statement로 갈 수 있다. GOTO label_name; label name은 이렇게 표시한다. BEGIN GOTO second_message; DBMS_OUTPUT.PUT_LINE( 'Hello' ); GOTO the_end; DBMS_OUTPUT.PUT_LINE( 'PL/SQL GOTO Demo' ); GOTO first_message; DBMS_OUTPUT.PUT_LINE( 'and good bye...' ); END; --익명 블록이 완료되었습니다. --PL/SQL GOTO Demo --Hello --and good bye... second_message -> first_message -> the_end 로 향하는 것을 알..
PL/SQL Tutorial - CASE CASE문은 IF/ELSE의 ver2 정도로 생각하면 될 것 같다. 쓰임새는 조금 다른데 IF/ELSE는 TRUE/FALSE만 주로 다룬다면 CASE는 특정 값에 대해 판단한다. CASE selector WHEN selector_value_1 THEN statements_1 WHEN selector_value_1 THEN statement_2 ... ELSE else_statements END CASE; 백문이불여일견이다. DECLARE c_grade CHAR(1); c_rank VARCHAR(20); BEGIN c_grade := 'B'; CASE c_grade WHEN 'A' THEN c_rank := 'Excellent'; WHEN 'B' THEN c_rank := 'Very Good'; WHEN ..
PL/SQL Tutorial - IF IF / AND는 너무 잘 알고 있을 것이다. 진리식으로 나타내면 충분하겠지? X Y IF AND 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 아니 표는 가운데 정렬안됨? 후.. 태그님 영원하세요 먼저 IF문을 살펴보자. IF condition THEN statements; END IF; boolean type는 언제나 true, false, null 값만을 갖는다. 이 점을 이용하여 사용한다. DECLARE n_sales NUMBER; BEGIN n_sales := 200000; IF n_sales > 100000 THEN DBMS_OUTPUT.PUT_LINE( 'Sales revenue is greater than 100K' ); END IF; END; 간단하게 작성해보자. n_sales..
PL/SQL Tutorial - Type, Variables 1. PL/SQL 이란? - Procedural Language extensions to the Structured Query Language - SQL은 데이터 조회 및 갱신에 사용되는 언어지만 한계를 가지고 있어 이를 극복하기 위해 만들어졌다. - Oracle Database에 종속적인 언어이다. (1) 익명 블록 - PL/SQL은 코드가 블록으로 구성되는 블록 구조 언어이다. - 블록은 (선언 - 실행 - 예외 ) 구조로 나뉜다. SET SERVEROUTPUT ON; BEGIN DBMS_OUTPUT.put_line ('Hello, World!'); END; 이 PL/SQL은 SQL Develpoer에 HelloWorld를 출력한다. 2. Data Type 모르고 지나가면 섭하다. 언어 배울때 이게 ..