저장 프로시저를 만들었는데, 그걸 Toad에서 실행할 때는 간단하게 아래처럼 실행하면 됩니다.
예를들어, 저장프로시저명이 prc_tree 라는 이름이라면...
CALL prc_tree();
CALL prc_tree('x'); ==> IN 파라미터가 있을 경우
또는
EXEC prc_tree();
EXEC prc_tree('x'); ==> IN 파라미터가 있을 경우
또는
EXECUTE prc_tree();
EXECUTE prc_tree('x'); ==> IN 파라미터가 있을 경우
그런데, OUT 파라미터도 같이 있다면 어떻게 실행해야 할까요?
CREATE OR REPLACE PROCEDURE prc_tree
(
v_dept_code IN VARCHAR2,
p_code OUT VARCHAR2,
t_code OUT VARCHAR2
)
IS
BEGIN
SELECT PARENT_DEPT_CODE
INTO p_code
FROM ORGANIZATION
WHERE DEPT_CODE = v_dept_code;
t_code := '2';
IF p_code <> 'TOP' THEN
SELECT PARENT_DEPT_CODE
INTO t_code
FROM ORGANIZATION
WHERE DEPT_CODE = p_code;
END IF;
END ORG_TREE;
위 prc_tree 라는 저장프로시저에 in 파라미터가 1개, out 파라미터가 2개 있는데요.
이럴 때 애매하죠.
out 파라미터는 값을 입력하는 게 아니라 변수로 받아야 하는 거니까요.
DECLARE
p_code varchar2(10);
t_code varchar2(10);
BEGIN
prc_tree ('C1234', p_code, t_code);
dbms_output.put_line(p_code || ':' ||t_code);
END;
DECLARE 구문을 사용해서 작업을 하시면 되구요.
dbms_output.put_line() 이라는 명령으로 OUT 파라미터의 결과값을 찍어보시면 console에서 결과값도 확인해 볼 수 있겠죠.
'프로그래밍 언어 > 쿼리문 + Oracle + MySQL' 카테고리의 다른 글
[쿼리문/오라클] 토드(Toad)에서 바로 실행가능한 변수선언 쿼리문 (0) | 2016.02.05 |
---|---|
[MySQL] 테이블, 컬럼에 코멘트(comment) 달고 phpMyAdmin에서 확인하기 (0) | 2016.01.31 |
[Mysql] phpMyAdmin에서 데이타 insert문으로 저장하기 (0) | 2016.01.12 |
[ApmSetup] MySQL에 저장시 한글깨지는 문제 해결방법 (1) | 2015.12.29 |
[MySQL] phpMyAdmin에서 테이블의 primary key, index(인덱스) 확인하는 방법 (0) | 2015.12.28 |
댓글