Oracle 动态游标 - ORA-00936 缺少表达式

Oracle Dynamic Cursor - ORA-00936 missing expression

我需要在我的过程中使用动态游标,它从另一个游标接收值。 当我 运行 这个程序时,我得到了 ORA-00936 缺失表达式。 我将光标中的 select 放入 dbms_output 以查看它是否正确。

这是代码:

BEGIN
    OPEN dsa_tables;
    LOOP
        FETCH dsa_tables INTO
            v_owner,
            v_table_name,
            v_column_name,
            v_comments,
            v_tech_date;
        EXIT WHEN dsa_tables%notfound;
        v_table_all := dbms_assert.sql_object_name(v_owner
                                                   || '.'
                                                   || v_table_name);
     -- with this cursor is the problem    
        OPEN count_date FOR ' SELECT '
                            || v_column_name
                               || ','
                                  || ' COUNT('
                                     || v_column_name
                                        || ') FROM '
                                           ||v_table_all
                                           || ' GROUP BY '
                                           || v_column_name;
    LOOP
        FETCH count_date INTO
            v_date,
            v_count;
     EXIT WHEN count_date%notfound;      
            
    END LOOP;        
        CLOSE count_date; 
        
        
    END LOOP;

    CLOSE dsa_tables;
END;
/

您可能已将 v_column_name 设置为 NULL。

我已经查过了,这个栏目没有NULL。