回答

收藏

Oracle批量收集问题

技术问答 技术问答 357 人阅读 | 0 人回复 | 2023-09-12

我遇到了一个大的收sql我希望你能提供帮助。
. h1 m$ h( d$ [9 E" z3 C0 \! ~使用以下代码:3 C; f% ]. {' I" a+ j! n
declare    cursor c1    is    select customer,product    from products;    type type_cust is table of products.customer%type;    type type_prod is table of products.product%type;    v_array_cust    type_cust;    v_array_prod    type_prod;begin    open c1;    loop        fetch c1         into v_array_cust,v_array_prod        limit   exit when c1%notfound;        for i in 1..v_array_cust.count        loop            --Do some processing here.        end loop;    end loop;end;/游标c1返回53166行。+ I. Y' ]4 `7 N* f) I  s% m1 \
然而,代码处理53000行,然后结束。在检索最后166条记录时,似乎会出现故障。# b$ ?" R! a" |0 C% b
如果发现记录少于1000条,提取物是否会返回%notfound?我应该把出口移到循环的末尾吗?(我会尝试这种方法,但它需要3个小时才能到达故障点。: o! j5 K+ F5 B" [- }
提前致谢。) g1 T2 e; Q- U. q  |/ y
                                                                & {1 `; d5 O$ @7 k! L7 Q
    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则