[오라클 PL/SQL] 프로시저 매개변수와 입력 값 매핑 방법
- Database(데이터베이스)/Oracle
- 2019. 11. 23. 02:00
안녕하세요.
오늘은 오라클 PL/SQL에서 프로시저 생성하고 나서 호출하는 부분에서 매개변수와 입력 값을 매핑하는 방법에 대해서 알려드리려고 합니다.
프로시저의 매개변수가 많으면 실행할 때 매개변수 값의 개수나 순서를 혼동할 소지가 매우 많기 때문에 이러한 것을 사전에 방지하기 위해서 오라클에서는 프로시저를 호출할 때, 매핑을 할 수 있게 기능을 제공해 주고 있습니다.
그러면 바로 매핑하는 방법을 알려드릴게요!
먼저 아래와 같은 my_new_student_proc 프로시저가 있습니다.
my_new_student_proc 프로시저
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
CREATE OR REPLACE PROCEDURE WIN.my_new_student_proc ( p_school_no WIN.STUDENT.SCHOOL_NO%TYPE, p_class WIN.STUDENT.CLASS%TYPE, p_name WIN.STUDENT.NAME%TYPE, p_age WIN.STUDENT.AGE%TYPE, p_grade WIN.STUDENT.GRADE%TYPE, p_score WIN.STUDENT.SCORE%TYPE )
IS vn_cnt NUMBER := 0;
BEGIN --동일한 이름을 가진 학생이 있는지 체크 SELECT COUNT(*) INTO vn_cnt FROM WIN.STUDENT WHERE 1 = 1 AND NAME = p_name;
--동일한 이름을 가진 학생이 없으면 INSERT IF vn_cnt = 0 THEN 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);
--동일한 이름을 가진 학생이 존재 한다면 UPDATE ELSE UPDATE WIN.STUDENT SET SCHOOL_NO = p_school_no, CLASS = p_class, NAME = p_name, AGE = p_age, GRADE = p_grade, SCORE = p_score WHERE 1 = 1 AND NAME = p_name;
END IF;
COMMIT; END; /
|
위에 생성한 my_new_student_proc에서 매개변수를 보시게 되면 p_school_no, p_class, p_name, p_age, p_grade, p_score 이렇게 총 6가지의 매개변수를 입력 받을 수 있습니다.
그럼 이제 이 프로시저의 매개변수를 입력 값과 함께 매핑하여 호출해 보도록 하겠습니다.
프로시저 매핑 하여 실행
1 2 3 |
EXECUTE my_new_student_proc(p_school_no => '3', p_class => '6', p_name => '양다일', p_age => '56', p_grade => '4', p_score => '100'); |
위에서 보시는 것과 같이 “=>” 해당 문자를 이용하여 매개변수와 입력 값을 매핑하여 프로시저를 실행하시면 되겠습니다~~
감사합니다ㅎㅎ
'Database(데이터베이스) > Oracle' 카테고리의 다른 글
[오라클 SQL] 오라클 숫차 체크 하는 방법 (0) | 2019.11.25 |
---|---|
[오라클 에러] ORA-00604 : 순환 SQL 레벨 1 에 오류가 발생했습니다. 해결 방법 (0) | 2019.11.24 |
[오라클 PL/SQL] PL/SQL 프로시저 중복 데이터 검사 (UPDATE, INSERT) (0) | 2019.11.22 |
[오라클 PL/SQL] PL/SQL 프로시저 생성 방법 및 사용 예제 (0) | 2019.11.21 |
[오라클 PL/SQL] 오라클 PL/SQL 함수 생성 (특정 테이블 함수 호출로 데이터 조회) (0) | 2019.11.20 |
이 글을 공유하기