프로시저는 PL/SQL을 통해 만들어지고 특정 작업을 수행하는 서브 프로그램이다. 자주 사용되는 SQL문을 DB 객체로 생성해서 저장한 후 사용시에 프로시저명을 호출해서 사용한다. PL/SQL에서 FUNCTION 은 리턴값을 반환하는데 반해 프로시저는 지정된 작업을 수행 후에 결과값을 반환할 수도 있고 반화나지 않을 수 있다. FUNCTION과 프로시저의 차이점은 FUNCTION은 SQL문 내부에서 사용할 수 있지만, 프로시저는 EXEC 또는 EXECUTE의 실행문을 통해서 사용된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | CREATE OR REPLACE PROCEDURE "프로시저명" ( PARAMETER IN|OUT DATATYPE ) IS --변수선언부 BEGIN --처리내용 EXCEPTION --예외처리부분 END; | cs |
CREATE OR REPLACE PROCEDURE : 프로시저를 생성 또는 이미 있으면 기존 프로시저를 대체
프로시저명 : 생성할 프로시저이름
파라메터 : 프로시저에게 전달할 파라미터 이름과 데이터 타입을 명시한다.
IN : 변수값을 입력받을때 사용
OUT : 프로시저 처리 후 리턴할 변수명
INOUT : 파라미터로 변수값을 받고 프로시저 처리후 리턴할 변수명
변수 선언 부 : 사용할 변수를 명시한다.
출처:실전 DB 모델링과 SQL for ORACLE
출처: http://kkiuk.tistory.com/16 [평범한 개발자의 이야기]
'DB' 카테고리의 다른 글
DataSet DataTable DataGridView (0) | 2019.03.25 |
---|---|
DB 정규화 (0) | 2019.01.09 |
statement와 preparedStatement의 차이 (0) | 2019.01.05 |
left, right, inner, outer, natural join (0) | 2018.11.20 |
DB 성능 순서 (0) | 2018.09.20 |