고래씌
[Oralce] 15. Object(Procedure) - 프로시저 본문
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 |