2

我有一张桌子%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

4

1 回答 1

4

傻我...不能从 SQL 语句中调用收集方法。

于 2013-03-14T23:56:39.967 回答