oracle pl/sql FORALL语句

oracle pl/sql FORALL语句,oracle,plsql,Oracle,Plsql,我对这个程序感到困惑,请逐行解释任何一行,并且必须在所有循环中说明变量如何在那里迭代 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; m

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

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;

I
迭代
bounds_子句
中的值
,表示
I
mysubs
的元素,并将以非连续的方式迭代集合
mysubs
。这里,在这种情况下是4次。关于
mysubs
的索引:

  • mysubs(10):2
  • mysubs(30):6
  • mysubs(40):3
  • mysubs(200):3
FORALL始终插入块:

2
6
3
3

为什么不直接开始阅读手册: