Oracle10g如何用FIRALL来处理非连续数组

以前我们在使用Oracle的相关嵌套表是不能够删除待处理数组中间的相关元素,相关的数组项也是必须对其进行连续的相关处理。Oracle 10g解决了这两方面的问题,并增加了INDICES OF和VALUES OF子句。

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

 
 
 
  1. FORALL index_name IN INDICES OF collection_name  
  2. BETWEEN lower_bound AND upper_bound  
  3. sql_statement;  

 

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

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

 
 
 
  1. FORALL index_name IN VALUES OF index_collection  
  2. sql_statement;  

 

列表A中是一个应用HR样本模式的例子。我将部门名称加载到内存中的一个嵌套表内,然后在里面搜索与IT有关的部门。每搜索到一个,我保存它的表输入项索引。VALUES OF子句结合这组索引对表中的每个部门进行INSERT语句处理。(这只是一个示例;用一个单独的SQL语句也可以进行同样的处理。)列表B中是输出结果。

以上的相关内容就是对Oracle 10g中用FIRALL处理非连续数组的介绍,望你能有所收获。

文章出自:http://database.ctocio.com.cn/280/9001780.shtml

分享文章:Oracle10g如何用FIRALL来处理非连续数组
网页URL:http://www.shufengxianlan.com/qtweb/news37/472937.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联