我正在研究一段我想要优化的 sql。我有一堆游标。我想知道是否可以使用其他东西代替游标。我正在考虑使用某种变量,填充它们,并在其余的处理中避免数据库连接(我有一个复杂的处理)。
例如,我有一段代码,例如:
TYPE rec_basket IS RECORD (
FIELD1 VARCHAR2(40),
FIELD2 NUMBER(10),
FIELD3 VARCHAR2(6)
);
TYPE tab_basket IS TABLE OF rec_basket
INDEX BY BINARY_INTEGER;
………………………………………………………………………………
CURSOR cur_baskets
IS
select * from toto
......................
FOR i IN cur_baskets
LOOP
l_tab_basket (l_nbasket).field1 := i.field1;
l_tab_basket (l_nbasket).field2 := i.field2;
l_tab_basket (l_nbasket).field3 := i.field3;
l_nbasket := l_nbasket + 1;
END LOOP;
使用游标并填充 l_tab_basket 变量是最好的方法吗?我在代码中的某处使用了 l_tab_basket (index)。我放置这段代码的原因是我想将这种机制用于我的其他游标。实际上我在另一个光标内有一个光标。对于他们每个人的每一行,我都有一些治疗。我想用其他东西替换光标,但我不知道怎么做。谢谢。