在UPDATE语句中收集COUNT,FIRST和LAST

时间:2013-03-14 23:45:52

标签: sql oracle plsql oracle10g

我有一张%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.lastFOR时遇到同样的问题。

1 个答案:

答案 0 :(得分:4)