oracle for 루프에서 테이블 이름을 동적으로 전달할 수 있습니까?동적으로 테이블 이름을 oracle for 루프에 전달하십시오.
예컨대 : -
for nm in ('select * from '|| table_name))
loop
dbms_output.put_line('chetan') ;
end loop;
oracle for 루프에서 테이블 이름을 동적으로 전달할 수 있습니까?동적으로 테이블 이름을 oracle for 루프에 전달하십시오.
예컨대 : -
for nm in ('select * from '|| table_name))
loop
dbms_output.put_line('chetan') ;
end loop;
당신은 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;
/
for와 cursor 사이에 성능 차이가 있습니까? – chetan
필요하지 않습니다. 하지만 당신도 함께 할 수 있습니다 :) –
위의 코드는 하나 개의 단어를 여러 번 출력합니다. 너 뭐하려고? –