gpt4 book ai didi

oracle - Oracle 中的 "Bulk Collect Into"和 "Execute Immediate"

转载 作者:行者123 更新时间:2023-12-01 08:59:24 26 4
gpt4 key购买 nike

是否可以执行 "bulk Collect into""execute immediate" oracle中的命令?所有这些都将成为返回管道内衬表作为结果的函数的一部分。

最佳答案

是的,从技术上讲,您可以:

  1  SQL> declare
2 type x is table of t.id%type index by pls_integer;
3 xx x;
4 begin
5 execute immediate
6 'select id from t' bulk collect into xx;
7 dbms_output.put_line(xx.count);
8 end;
9 /
426

Oracle 在文档中明确说明了这一点:

http://docs.oracle.com/cd/B19306_01/appdev.102/b14261/executeimmediate_statement.htm

但是如果你真的需要执行动态 SQL - 弱引用游标,你可以使用更有用的方式事件。您将可以访问诸如 LIMIT 之类的强大选项,并将能够使用记录集合。
SQL> declare
2 type x is table of t%rowtype index by pls_integer;
3 xx x;
4 c sys_refcursor;
5 begin
6 open c for 'select * from t';
7 loop
8 fetch c bulk collect into xx limit 100;
9 dbms_output.put_line(xx.count);
10 exit when c%notfound;
11 end loop;
12 close c;
13 end;
14 /
100
100
100
100
26

关于oracle - Oracle 中的 "Bulk Collect Into"和 "Execute Immediate",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21117021/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com