网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>数据库技术>>Oracle技术>>Oracle开发>查看文档  
  Oracle 10g中用FORALL处理非连续数组     
  文章作者:未知  文章来源:未知  
  查看:216次  录入:管理员--2007-04-23  
 

在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子句。

INDICES OF子句替代lower_bound ..upper_bound,说明所有要处理的有效索引值,即使这些值之间存在间隔。就像是这样:

FORALL index_name IN INDICES OF collection_name

    BETWEEN lower_bound AND upper_bound

    sql_statement;

您仍然可以应用BETWEEN语法限制要处理的范围,这是一个可选的内容。

VALUES OF子句帮助您以不同顺序处理主要的集合。您再建立另一个集合,其中只包含您要处理的索引号码,这些号码以您希望处理的顺序排列。然后该语句变为:

FORALL index_name IN VALUES OF index_collection

    sql_statement;
 
 
上一篇: 12步教会Oracle DBA如何管理DB2    下一篇: 把应用程序和Oracle客户端一起打包
  相关文档
教你手工创建数据库的全部脚本及说明 05-13
教你快速掌握Oracle中"HINT"的30个用法 09-29
教你在不同数据库环境下读取前n条记录数 07-14
教你快速掌握oracle数据库的表快照特征 03-24
在Windows系统下完全卸载Oracle的好方法 09-29
八个学习点帮助你全面认识Oracle数据库 05-27
oracle数据库decode函数的作用及使用方法 05-12
为什么oracle中只能用sys和system登录 07-30
如何才能限制用户对自己对象的ddl权限 02-29
数据库迁移过程中使用热备份进行分时恢复 (1) 05-14
oracle 9i和10g安装后的基本环境与服务 (1) 04-30
监控Oracle数据库的常用shell脚本 01-15
有关Oracle数据库中并行处理技术剖析 04-11
带你轻松接触"maa"结构中所包含的组件 03-05
认识NBU备份Oracle时Code 29错误的解答 06-03
讲解linux环境下oracle的自动启动与停止 03-31
详细讲解oracle表分区的相关概念及其优点 (1) 03-17
用一个存储过程实现分步删除数据表记录 04-10
一个完整的oracle rman备份恢复参考示例 05-29
Oracle数据库较好的十种重新启动步骤 04-23
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息