2014-11-03 74 views
0
DECLARE 
LV_COL_NAME VARCHAR2(100); 
LV_QUERY VARCHAR2(4000); 

    type cur is ref cursor; 
    select_cur cur; 

    type rec is select_cur%rowtype; 
    LT_REC rec; 


BEGIN 


SELECT COL_NAME INTO LV_COL_NAME FROM TEST; --contains column info of emp table. 

    cursor select_cur 
    for 'SELECT '||LV_COL_NAME||' 
     FROM HMCNSPROD.HM_CONSUMER WHERE ROWNUM=1'; 

    fetch select_cur bulk collect INTO LT_REC;  
    DBMS_OUTPUT.PUT_LINE('LT_REC: '||LT_REC.count); 
    close select_cur;   


EXCEPTION 
    WHEN OTHERS 
    THEN 
    DBMS_OUTPUT.PUT_LINE('ERROR: '||SQLERRM); 
END; 
+0

歡迎StackOverflow的Abhijeet。什麼是你得到的錯誤信息,也許這可以讓問題更清楚。 – vishad 2014-11-03 10:08:41

回答

0

您不能使用%rowtype聲明作爲引用遊標。也許它適用於「強」定義的引用遊標,但我沒有測試。

強烈的聲明看起來像這樣的:

type recis ref cursor return HMCNSPROD.HM_CONSUMER%rowtype;