본문 바로가기
IT/DB

[ORACLE] 프로시저(Procedure) 생성 및 실행과 작성 문법 (PL/SQL)

by 스터딩아재 2021. 9. 28.
반응형

 

* 안 쓰고 싶은데 특정 도메인에선 프로시저로 범벅이다.

* 혹시 모르니 적어두자.

 

 

1. 프로시저 생성문

-- 생성문 시작
CREATE OR REPLACE PROCEDURE TEST_PROC
(
    -- 프로시저 실행 시 받을 매개변수는 CREATE 안에 작성
    param1 IN NUMBER
  , param2 IN VARCHAR2
)

-- 프로시저에서 선언할 변수는 IS 뒤에 작성
IS
param3 IN VARCHAR2(20) := "StudyingAzae";

-- 실행 내용은 BEGIN 뒤에 작성
BEGIN

-- 단순 INSERT 문
INSERT INTO TEST_TABLE
(NO, NAME, SITE)
VALUE
(param1, param2, param3)
;

END TEST_PROC;

 

 

2. 실행

1) IN 변수만 있는 프로시져

EXEC TEST_PROC();
EXEC TEST_PROC(213, 'DDOL');

 

2) OUT 변수 있는 프로시져

DECLARE
    param1 varchar2(200);
    param2 varchar2(200);
BEGIN
    TEST_PROC('123', param1, param2);
END;

 

3. 프로시저 문법 종류

1) SELECT 후 EXCEPTION

SELECT * FROM TB ;

EXCEPTION 
WHEN NO_DATA_FOUND THEN 처리1 RETURN;
WHEN OTHERS THEN 처리2 RETURN;

 

 

2) IF THEN

IF 조건1 THEN 처리
IF 조건2 THEN 처리
ELSE
END IF;

 

 

3) CURSOR

-- COUSOR 선언
CURSOR 커서명
IS     SELECT SQL
;

-- 사용
OPEN 커서명;
    LOOP
        FETCH 커서명 INTO 변수명;
        EXIT WHEN 커서명 %NOTFOUND;
    END LOOP;
CLOSE 커서명;

 

 

4) 로그(LOG) 찍는 법

DBMS_OUTPUT.PUT_LINE('내용');

 

 

그리드형

댓글