【问题标题】:oracle pl/sql FORALL statementoracle pl/sql FORALL 语句
【发布时间】:2014-07-27 19:49:24
【问题描述】:

我对这个程序感到困惑,请逐行解释任何一个,并且必须在 forall 循环中我的变量如何在那里迭代

DECLARE
 TYPE mysubs_type IS TABLE OF pls_integer INDEX BY pls_integer;
 TYPE mylist_type IS TABLE OF pls_integer INDEX BY pls_integer;
 mysubs mylist_type;
 mylist mylist_type;
BEGIN
 mylist(2) := 2;
     mysubs(10) := 2; -- point to mylist(2)
 mylist(3) := 3;
     mysubs(200) := 3; -- point to mylist(3)
 mylist(6) := 6;
     mysubs(30) := 6; -- point to mylist(6)
     mysubs(40) := 3; -- point to mylist(3)
 FORALL i IN VALUES OF mysubs
 INSERT INTO mynum_table(my_list) VALUES(mylist(i));
END;

【问题讨论】:

标签: oracle plsql


【解决方案1】:

I 遍历bounds_clause : IN VALUES OF 表示imysubs 的元素,并将以非连续的方式迭代集合mysubs。在这里,在这种情况下 4 次。尊重mysubs的索引:

  • mysubs(10) : 2
  • mysubs(30) : 6
  • mysubs(40) : 3
  • mysubs(200) : 3

FORALL 总是插入块:

2
6
3
3

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-30
    • 1970-01-01
    相关资源
    最近更新 更多