收集COUNT,FIRST和LAST在UPDATE语句

问题描述:

我有一个%ROWTYPE的表:收集COUNT,FIRST和LAST在UPDATE语句

EXECUTE IMMEDIATE v_sql BULK COLLECT INTO my_tab; 

我就得到一个错误:

TYPE t_my_tab IS TABLE OF my_config%ROWTYPE INDEX BY BINARY_INTEGER; 
my_tab t_my_tab; 

我使用一些动态SQL加载它:

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 ...; 

有没有办法避免这种重新分配?当我在FOR循环中使用my_tab.first和​​时,我遇到同样的问题。

+0

什么是错误? – Sebas 2013-03-14 23:48:41

+0

啊,好点。将其添加到问题中。 – Paul 2013-03-14 23:52:49