为什么批量收集到子句限制 pl/sql 中嵌套表的大小

发布于 2024-12-11 08:26:26 字数 366 浏览 0 评论 0原文

declare
   type yy is table of t12.name%type;
   y yy:=yy();
   n number:=1;
begin
   y.extend(10);
   select name bulk collect into y from t12;
   --select name into y(5) from t12 where id=1; If i uncomment this line it gives error
   for i in (select name from t12)
   loop
      dbms_output.put_line(y(n));
      n:=n+1;
   end loop;
end;
declare
   type yy is table of t12.name%type;
   y yy:=yy();
   n number:=1;
begin
   y.extend(10);
   select name bulk collect into y from t12;
   --select name into y(5) from t12 where id=1; If i uncomment this line it gives error
   for i in (select name from t12)
   loop
      dbms_output.put_line(y(n));
      n:=n+1;
   end loop;
end;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

她如夕阳 2024-12-18 08:26:26

您可以在不先初始化 y 的情况下进行测试吗?嵌套表不应使用批量收集进行初始化。然后您可以使用 extend 添加元素。

declare
  type yy is table of t12.name%type;
  y yy;
begin
  select name bulk collect into y from t12;
end;

Could you test without initializing y first ? Nested tables are not supposed to be initialized with bulk collect. Then you can add elements with extend.

declare
  type yy is table of t12.name%type;
  y yy;
begin
  select name bulk collect into y from t12;
end;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文