고래씌

[Oralce] 15. Object(Procedure) - 프로시저 본문

Database/Oracle

[Oralce] 15. Object(Procedure) - 프로시저

고래씌 2023. 12. 1. 13:07

1. PROCEDURE

- PL/SQL문을 저장해서 이용하는 객체.
- 필요할때마다 내가 작성한 PL/SQL문을 편하게 호출 가능하다.

 

▶ 프로시저 생성방법

[표현식]

    CREATE [OR REPLACE] PROCEDURE 프로시저명[(매개변수)]
    IS
    BEGIN
        실행부분
    END;
    
    프로시져 실행방법
    EXEC 프로시져명;

 

 

▶ 예제 

☞ 지역변수 안에 DELETE FROM PRO_TEST; 문이 실행된 것을 알 수 있다.

 


1) 프로시저에 매개변수 추가

- IN : 프로시저를 실행시 필요한 값을 "입력받는"변수 (자바의 매개변수와 동일하게 사용)
- OUT : 프로시저를 호출한 곳을 값을 "되돌려주는" 변수(결과값)

 

▶ 예제 

 

- ① 프로시저 생성

 

 

 

- ② 실행 후 결과값을 저장할 변수 선언

- 매개변수가 있는 프로시저 실행

 

 

☞  변수 사용할 때 : 붙어서 넣어줌

 

 

- ④ 변수의 담긴값을 출력

 

 

- 결과화면

 

 

 


2) 프로시져의 장점 및 단점

▶ 프로시져 장점

1. 처리속도가 빠름
2. 대량 자료처리시 유리


EX) DB에서 대용량의 데이터를 SELECT문으로 받아온 후 자바에서 처리하는 경우 vs DB에서 대용량의 데이터를 SELECT한 후 자바로 넘기지 않고 직접 DB에서 처리하는 경우

 

=> DB에서 처리하는게 성능이 좋음(데이터를 넘길때마다 네트워크 비용 발생)
       

 

▶ 프로시져 단점

1. DB자원을 직접 사용하기 때문에 DB에 부하를 주게됨
2. 관리적 측면에서 자바소스코드, 오라클 코드를 동시에 형상관리하기 어려움
    


※ 정리
한번에 처리되는 데이터량이 많고 성능을 요구하는 처리DB상에서 처리하는게 나을 것이고, 소스관리 측면에서 보자면 자바로만 관리하는게 좋다.

 

 

'Database > Oracle' 카테고리의 다른 글

[Oralce] 17. Object(TRIGGER) - 트리거  (0) 2023.12.01
[Oralce] 16. Object(FUNCTION) - FUNCTION  (0) 2023.12.01
[Oracle] 14. PL/SQL  (0) 2023.12.01
[Oracle] 13. Object(INDEX) - INDEX  (0) 2023.12.01
[Oracle] 12. Object(SEQUENCE) - 시퀀스  (0) 2023.11.30