如何在oracle 10g中用forall处理非连续数组项

大哥们,请讲解下,如何在oracle 10g中用forall处理非连续数组项
最新回答
狙击甜心

2024-09-25 10:58:01

  在PL/SQL循环中执行数据操作语言(DML)是一件费时的工作,因为每次循环都要由PL/SQL引擎转向SQL引擎。应用FORALL是一个更好的方法,它一次性向SQL语句提交一组临时值。
  [@more@]
  在PL/SQL循环中执行数据操作语言(DML)是一件费时的工作,因为每次循环都要由PL/SQL引擎转向SQL引擎。应用FORALL是一个更好的方法,它一次性向SQL语句提交一组临时值。
  在Oracle 10g前,FORALL语句的语法只能处理连续性的数组元素:
  FORALL index_name IN lower_bound ..upper_bound sql_statement;
  这意味着:在以前,使用FORALL的嵌套表不能删除待处理数组中间的元素,而且数组项必须进行连续处理。Oracle 10g解决了这两方面的问题,并增加了INDICES OF和VALUES OF子句。