[오라클 PL/SQL] PL/SQL 매개변수 디폴트 값 설정 하는 방법
- Database(데이터베이스)/Oracle
- 2019. 11. 26. 01:00
안녕하세요.
오늘은 오라클 PL/SQL에서 프로시저 실행 시 매개변수에 값을 입력은 안해도 오류가 나지 않게 매개변수에 디폴트 값을 설정하는 방법에 대해서 알려드리려고 합니다.
오라클 PL/SQL에서 프로시저를 실행할 때에는 반드시 매개변수의 개수에 맞춰서 프로시저를 실행해야 하고, 만약 개수가 다르게 실행을 하게 되면 실행하는 과정에서 에러가 발생하게 되는데요.
실제 프로젝트를 하다 보면 많은 프로시저들을 보시게 되고, 이 프로시저들의 매개변수를 일일이 확인하기가 번거롭습니다.
이럴 때, 애초에 프로시저를 생성할 때에 매개변수 디폴트 값을 설정해서 지정을 하면 사전에 매개변수 개수가 다르더라도 에러가 나는 것을 방지 할 수 있어서 유용한 문법이라 생각이 듭니다.
그럼 매개변수 디폴트 값을 어떻게 설정을 하는지 바로 예제 코드를 통해서 알아 보도록 하겠습니다.
프로시저 매개변수 디폴트 값 생성
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
CREATE OR REPLACE PROCEDURE my_new_student_proc ( p_school_no IN WIN.STUDENT.SCHOOL_NO%TYPE, p_class IN WIN.STUDENT.CLASS%TYPE, p_name IN WIN.STUDENT.NAME%TYPE, p_age IN WIN.STUDENT.AGE%TYPE := 20, --디폴트값 생성 p_grade IN WIN.STUDENT.GRADE%TYPE := 1, p_score IN WIN.STUDENT.SCORE%TYPE := 50 )
IS
BEGIN INSERT INTO WIN.STUDENT (SCHOOL_NO, CLASS, NAME, AGE, GRADE, SCORE) VALUES (p_school_no, p_class, p_name, p_age, p_grade, p_score);
END; |
지금 현재 위에서 my_new_student_proc 프로시저를 생성 하였고,
매개변수로 p_school_no, p_class, p_name, p_age, p_grade, p_score 이렇게 총 6가지의 정보를 입력 받는데, 여기서 현재 p_age는 디폴트 값으로 20, p_grade는 디폴트 값으로 1, p_score는 디폴트 값으로 50 이렇게 설정 해주고 프로시저를 생성 하였습니다.
이제 프로시저를 실행해 보도록 하겠습니다.
디폴트 값 있는 프로시저 실행
1 |
EXECUTE my_new_student_proc('1', '2', '이재용'); |
실행 결과
이처럼, 프로시저를 실행할 때에는 p_school_no, p_class, p_name만 지정해주고 나머지는 입력하지 않았지만 기본적으로 디폴트 값으로 지정해준 값이 같이 저장된 모습을 확인 하실 수 있습니다.
이로써 프로시저에서 매개변수 디폴트 값 지정하는 방법에 대해서 알아 보았습니다.
감사합니다.
'Database(데이터베이스) > Oracle' 카테고리의 다른 글
[오라클 PL/SQL] PL/SQL 프로시저 매개변수 IN OUT 이란? (0) | 2019.11.28 |
---|---|
[오라클 PL/SQL] PL/SQL OUT 매개변수 (0) | 2019.11.27 |
[오라클 SQL] 오라클 숫차 체크 하는 방법 (0) | 2019.11.25 |
[오라클 에러] ORA-00604 : 순환 SQL 레벨 1 에 오류가 발생했습니다. 해결 방법 (0) | 2019.11.24 |
[오라클 PL/SQL] 프로시저 매개변수와 입력 값 매핑 방법 (0) | 2019.11.23 |
이 글을 공유하기