我有一张%ROWTYPE
的表格:
TYPE t_my_tab IS TABLE OF my_config%ROWTYPE INDEX BY BINARY_INTEGER;
my_tab t_my_tab;
我使用一些动态SQL加载它:
EXECUTE IMMEDIATE v_sql BULK COLLECT INTO my_tab;
我收到错误:
UPDATE ... SET x = mytab.count ...;
PL/SQL: ORA-00904: "MY_TAB"."COUNT": invalid identifier
但是当我将值赋给另一个变量时,它可以正常工作:
v_count NUMBER;
v_count := mytab_tab.count;
UPDATE ... SET x = v_count ...;
有没有办法避免这种重新分配?我在my_tab.first
循环中使用my_tab.last
和FOR
时遇到同样的问题。