관리 메뉴

nalaolla

오라클 프로시저에서 SELECT 사용하기 및 데이터 확인 본문

ORACLE

오라클 프로시저에서 SELECT 사용하기 및 데이터 확인

날아올라↗↗ 2015. 12. 9. 17:43
728x90
반응형

// 프로시저 작성

  1. CREATE OR REPLACE PROCEDURE SP_SEL_DATA  
  2. (  
  3.     IN_01            IN  VARCHAR2,  
  4.     OUT_LISTDATA_01  OUT sys_refcursor,  
  5.     OUT_LISTDATA_02  OUT sys_refcursor,  
  6.     OUT_DATA_CNT     OUT NUMBER(10)  
  7. )    
  8.   
  9. IS  
  10.     
  11. BEGIN  
  12.     SELECT COUNT(1) INTO OUT_DATA_CNT FROM TMP;  
  13.   
  14.     OPEN OUT_LISTDATA_01 FOR  
  15.         SELECT V1, V3 FROM TMP;  
  16.   
  17.     OPEN OUT_LISTDATA_02 FOR    
  18.         SELECT V1, V2, V3, V4 FROM TMP;  
  19. END SP_SEL_DATA;  

// 프로시저 작성데이터 출력 확인 // 중요1. LOOP 절 이후에 받아올 리스트를 정의시 (FETCH OUT_LIST_01 컬럼명을 한개라도 빼먹고 데이터를 받으면 오류 - 즉 SELECT 절에서 정의한 컬럼명을 다 받아야 함)

  1. DECLARE   
  2.     OUT_LIST_01 sys_refcursor;  
  3.     OUT_LIST_02 sys_refcursor;  
  4.     OUT_CNT     NUMBER(10);  
  5.     V_V1        VARCHAR(20);  
  6.     V_V2        VARCHAR(20);  
  7.     V_V3        VARCHAR(20);  
  8.     V_V4        VARCHAR(20);  
  9. BEGIN  
  10.     SP_SEL_DATA('1085861512', OUT_LISTDATA_01 => OUT_LIST_01, OUT_LISTDATA_01 => OUT_LIST_02, OUT_CNT);  
  11.     LOOP  
  12.         FETCH OUT_LIST_01 INTO V_V1, V_V3;  
  13.         EXIT WHEN OUT_LIST_01%NOTFOUND;  
  14.         DBMS_OUTPUT.PUT_LINE(V_V1||'  '||V_V3);  
  15.     END LOOP;  
  16.     CLOSE OUT_LIST_01;  
  17. END;  
  18. /  


728x90
반응형

'ORACLE' 카테고리의 다른 글

오라클 내장함수 모음  (0) 2015.12.17
오라클 select문 예제, 함수모음  (0) 2015.12.17
ORACLE 프로시져 생성(간단설명)  (0) 2015.12.09
JDBC MemberDTO  (0) 2015.12.07
JDBC MemberDAO  (0) 2015.12.07