SQL
oracle] 프로시저 (PROCEDURE) 2(프로시저 실행)
dreamer_dev
2024. 7. 7. 23:30
1. 프로시저 실행
: 프로시저는 '호출' 혹은 '실행' 한다고 표현 프로시저는 반환 값이 없어 함수처럼 select 절에느 사용할 수 없고 다음과 같이 실행해야 한다.
--프로시저 실행1
EXEC 혹은 EXRCUTE 프로시저명 (매개변수 1 값, 매개변수 2 값 ....);
--프로시저 실행2
EXEC 혹은 EXRCUTE 프로시저명 (매개변수 1 => 매개변수 1 값,
매개변수 2 => 매개변수 2 값 ,....);
- 두번째 방법은 프로시저의 매개변수가 많으면 실행할 때 매개변수 값의 개수나 순서를 혼동할 소지가 많기때문에 방법 2와 같은 형태로 매개변수와 입력 값을 매핑해서 싱행하면 매우 편리하다.
2. 매개변수 디폴트 값 설정
: 프로시저를 실행할 때는 반드시 매개변수의 개수에 맞춰 값을 전달해 실행해야 한다.
만약 매개변수 값을 누락하면 다음과 같은 오류가 발생한다.
ORA-06550: 줄 1, 열7: PLS-00306: '프로시저 명 ' 호출 시 인수의 개수나 유형이 잘못되었습니다.
프로시저의 매개변수에 디폴트 값을 설정하면 실행할 때 해당 매개변수를 전달하지 않더라도 오류가 나지 않는다.
CREATE OR REPLACE PROCEDURE my_new_job_proc
(
p_min_sal IN JOBS.MIN_SALARY%TYPE := 10,
p_max_sal IN JOBS.MAX_SALARY%TYPE := 100
--디폴트 값 설정
)
IS
...
- 디폴트 값은 IN 매개변수에만 사용할 수 있다.