2013-03-14 32 views
2

我有一個%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

回答