반응형
Oracle의 PL/SQL 프로시저는 다음과 같은 형태를 띤다.
DECLARE
변수이름1 데이터형식;
변수이름2 데이터형식;
BEGIN
/*PL/SQL 부분*/
END;
프로시저를 사용하면 SQL 개발 시 편리하게 프로그래밍 할 수 있다.
DBMS_LOCK.SLEEP()
코드의 실행을 일시정지 하기 위해 DBMS_LOCK_SLEEP()를 사용할 수 있다.
()에 넣은 숫자는 초 단위이다. 예시는 다음과 같다.
BEGIN
DBMS_LOCK.SLEEP(3);
DBMS_OUTPUT.PUT_LINE('3초간 멈춘 후 진행');
END;
#결과 값 :
3초간 멈춘 후 진행
IF..ELSE..
조건에 따라 분기하는 함수이다. 다른 프로그래밍 언어와 같다. 예시는 다음과 같다.
SET SERVEROUTOUT_ON;
DECLARE
var1 NUMBER(5) ;
BEGIN
var1 := 100
IF var1 = 100 THEN
DBMS_OUTPUT.PUT_LINE('100입니다');
ELSE
DBMS_OUTPUT.PUT_LINE('100이 아닙니다');
END IF;
END;
#결과 값:
100입니다.
WHILE
다른 프로그래밍 언어의 WHILE과 동일한 개념이다. WHILE문의 식이 참인 동안에 계속 반복되는 반복문이다.
예시는 아래와 같다.
WHILE, LOOP, END LOOP 부분을 잘 살펴보면 된다.
SET SERVEROUTOUT ON;
DECLARE
iNum NUMBER(3);
hap NUMBER(5)
BEGIN
iNum := 1;
hap := 0;
WHILE iNum <= 100
LOOP
hap := hap + iNum;
iNum := iNum + 1;
END LOOP;
DBMS_OUPUT.PUT_LINE(hap);
END;
반응형
'Server > Oracle' 카테고리의 다른 글
[Oracle] Oracle Remote Dump Export, Import (0) | 2024.03.01 |
---|---|
[Oracle] ORA-01799: a column may not be outer-joined to a subquery (0) | 2024.03.01 |
[Oracle] 중첩된 case문 / 오라클 (2) | 2024.01.05 |
[Oracle12C] User 삭제 시 ORA-28014, 그리고 USER 생성 시 ORA-65096 뜰 때 (0) | 2019.12.09 |
[ORACLE] 세션 KILL 명령어 / ORA-00054: 자원이 사용중이고, NOWAIT가 지정되어 있습니다. (0) | 2019.11.27 |