2014-11-03 72 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;