안녕하세요. 자바에서 오라클 DB 접속하여 값을 가져와서 시스템에 결과 값을 뿌려주는 조회 프로시져를 만들었는데요~
처음에는 시스템에 뿌려줄 값을 변수로 out 선언을 해서 하다가
별차이가 없어서 밑에 프로시져로 수정하였거든요
밑에 프로시져는 그냥 결과값이 쭉 나오는 형태로 바꾸었는데요
다른시스템이 가져갈때는 결과값이 어떤 변수인가를 알아야지 항목별로 가져갈것 같은데
프로시져를 처음 짜봐서요
어떻게 해야되는건지 잘 모르겠어서요~
혹시 설명이 부족하지는 않나 모르겠습니다.
아무쪼록 파라미터 값을 잘 넘길 수 있는 방법을 알려주세요~
부탁드려요~~
PROCEDURE ORDER_QUERY
(
LOCAL in varchar2, --사업장
P_AGENT in varchar2, --주문처
ORDER_DATE_START in varchar2, --주문일자
ORDER_DATE_END in varchar2, --주문일자
P_PART_NO in varchar2 --품번
-- V_ORDER_SEQ out varchar2, --주문순번
--V_ORDER_DATE out date, --주문일자
-- V_QTY out number, --품목합계
-- V_AMT out number --합계금액
-- RES_CD out number --메시지구분("Y": OK, "N": NOK)
--RES_MSG out varchar2 --메시지
)
IS
--V_ORDER_SEQ varchar2(5); --주문순번
--V_ORDER_DATE date; --주문일자
--V_QTY number(10); --품목합계
--V_AMT number(13); --합계금액
BEGIN
BEGIN
FOR cur IN (
select yymm||'-'||seq seq, ORDER_DATE,count(part_no) cont, sum(order_amt) amt
from as_part_order
where busi_dept = local
and agent = rpad(agent,7,' ')
and del_gu != 'Y'
and yymm = substr(ORDER_DATE_START,1,6)
and ORDER_DATE between to_date(ORDER_DATE_START,'yyyymmdd') and to_date(ORDER_DATE_END,'yyyymmdd')
and part_no like '%'||rpad(P_PART_NO,12,' ')
group by yymm||'-'||seq, ORDER_DATE
) LOOP
--V_ORDER_SEQ := cur.seq;
--V_ORDER_DATE := cur.ORDER_DATE;
--V_QTY := cur.cont;
--V_AMT := cur.amt;
DBMS_OUTPUT.PUT_LINE(cur.seq);
DBMS_OUTPUT.PUT_LINE(cur.ORDER_DATE);
DBMS_OUTPUT.PUT_LINE(cur.cont);
DBMS_OUTPUT.PUT_LINE(cur.amt);
end loop;
EXCEPTION
when others then
-- RES_CD := 'N';
-- RES_MSG := '주문 검색오류';
return;
END;
-- RES_CD := 'Y';
-- RES_MSG := '';
END ORDER_QUERY;