2012-01-23 4 views

답변

1

당신은 REF 커서 유형 커서를 사용할 수 있습니다. 오라클 문서에서 는 (도 포함되어 결합 - 당신이 그들을 요구하지 않습니다 ...)

CREATE OR REPLACE PROCEDURE query_invoice(
     month VARCHAR2, 
     year VARCHAR2) IS 
    TYPE cur_typ IS REF CURSOR; 
    c cur_typ; 
    query_str VARCHAR2(200); 
    inv_num NUMBER; 
    inv_cust VARCHAR2(20); 
    inv_amt NUMBER; 
BEGIN 
    query_str := 'SELECT num, cust, amt FROM inv_' || month ||'_'|| year 
     || ' WHERE invnum = :id'; 
    OPEN c FOR query_str USING inv_num; 
    LOOP 
     FETCH c INTO inv_num, inv_cust, inv_amt; 
     EXIT WHEN c%NOTFOUND; 
     -- process row here 
    END LOOP; 
    CLOSE c; 
END; 
/
+0

for와 cursor 사이에 성능 차이가 있습니까? – chetan

+0

필요하지 않습니다. 하지만 당신도 함께 할 수 있습니다 :) –

관련 문제