文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发Oracle在Oracle9i Release 2中使用PL/SQL的集合增强
精品推荐
特别推荐
·常用数据库比较
·ODBC API常用函数诠释
·提高ORACLE数据库的查询统计速度
·细化解析:Oracle使用的hints调整机制
·解析Oracle/Oracle Forms 的多用途代码
·从Oracle的FORM中调用REPORT的实用技巧
·Oracle SQL精妙SQL语句讲解
·ORACLE学习笔记--性能优化四
·ORACLE常用傻瓜问题1000问
·ORACLE常见错误代码的分析与解决之二
·深刻理解Oracle数据库的启动和关闭
·监控Oracle数据库的常用shell脚本
·Oracle在Solaris下的性能与调整简介
·通俗解说ORACLE
·数据库安全性策略
热点TOP10
·详细介绍ORACLE sqlplus命令
·ORACLE常用傻瓜问题1000问
·我的oracle笔记四(DBA管理)
·Oracle SQL精妙SQL语句讲解
·Oracle Tuning (Oracle 性能调整)的一些总结
·我的oracle笔记一(sql语句方面)
·程序员如何掌握计算机英语
·用正则表达式函数验证身份证号码合法性
·oracle数据库 exp/imp命令详解
·性能分析工具的使用
·ORACLE UPDATE 语句语法与性能分析看法
·在Solaris 10 X86上安装Oracle 10g RAC详解 (1)
·ORA-01092: ORACLE 例程终止。强行断开连接
·VMware下RedHat安装Oracle 9i RAC全攻略
·监控Oracle数据库的常用shell脚本
·手工创建oracle数据库
·常用数据库比较
·PL/Sql循序渐进全面学习教程
·在Solaris 10 X86上安装Oracle 10g RAC详解 (2)
·Oracle客户端文件打包

在Oracle9i Release 2中使用PL/SQL的集合增强

日期:2007年7月2日 作者: 查看:[大字体 中字体 小字体]



  Oracle Release 2提供对PL/SQL集合的增强,它可以通过以前的发布版本进行代码维护。例如,你可以在Release 2中将PL/SQL集合用作一个单一的参数,从而避免了使用一长串的域作为参数。
  
  另外一个优点是记录的集合现在可以是BULK COLLECTION INTO子句的目标。在Release 2以前,我们必须为返回的每个列创建一个集合。例如:
  
  Declare
    type deptno_coll is table of dept.deptno%type;
    type dname_coll is table of dept.dname%type;
    type loc_coll is table of dept.loc%type;
    deptno_listdeptno_coll;
    dname_listdname_coll;
    loc_listloc_coll;
  begin
    select * bulk collect into deptno_list,dname_list,loc_list from dept;
  end;
  
  在Release 2中,可以用下面的代码实现同样的功能:
  
  Declare
    type dept_coll is table of dept%rowtype;
    dept_listdept_coll;
  begin
    select * bulk collect into dept_list from dept;
  end;
  
  注意这里不再有对列名的引用。如果DEPT表的列的个数或者名字被修改,你也不需要对第二段示例代码进行改动。这段代码还比旧版本易于维护。然而,应用程序需要一个Release 2数据库来编译。
  
  现在你可以使用记录以集合方式将一行数据插入到一个表中。在Release 2之前,你必须插入到表中一个PL/SQL记录然而再单独地确定每一列,作法如下:
  
  Declare
    dept_rowdept%rowtype;
  begin
    /* populate dept_row . . . */
    insert into dept values (dept_row.deptno,dept_row.dname,dept_row.loc);
  end;
  
  而在Release 2中你可以将插入语句简化为如下的语句:
  
    insert into dept values dept_row;
  
  记录可以以集合方式更新一个表中的数据。像插入语句一样,你以前必须单独地更新每一列:
    update dept
      set deptno = dept_row.deptno,
        dname = dept_row.dname,
         loc = dept_row.loc
     where deptno = dept_row.deptno;
  
  而在Release 2中,你可以根据在记录中的位置来更新整条数据:
  
    update dept set row = dept_row where deptno = dept_row.deptno;
  
  (注意“SET ROW”是一个新子句。)
  
  你可以使用记录从DML语句的RETURNING子句中提取信息。通常在更新数据的时候保持一个本地副本以备后面的PL/SQL操作会比较有用。在Release 2以前,我们可以在计算和调用完成之后使用RETURNING子句将数据存储到某个地方。而在Release 2中,你可以把数据存储到一条记录中。例如,下面是Release 2之前的作法:
  
  Declare
    foorowfootab%rowtype;
  begin
    insert into footab (foono,fooname) values (fooseq.nextval,'Foo')
     returning foono,fooname into foorow.foono,foorow.fooname;
  end;
  
  而现在你可以把插入语句简化为:
  
    insert into footab (foono,fooname) values (fooseq.nextval,'Foo')
      returning foono,fooname into foorow;
  
  这些增强使得语法更加易读,并能帮助我们避免由于在返回语句中将表匹配错误所引起的程序错误。但是要记住这些增强要依赖于表和记录中第一列的物理位置。如果一个表的列的位置发生改变,那么列的顺序也会改变。
[1] [2] 下一页 




上一篇:发现星号的其他作用

下一篇:如何分析SQL语句

在Oracle9i Release 2中使用PL/SQL的集合增强 相关文章:
·GHOST使用方法(图解)
·Vista系统使用技巧总结
·为什么iexplore.exe在打开网页时CPU使用会100%?
·QQ空间导航代码最新版使用方法
·DataTable控件的使用
·推荐:漂亮的手机上使用的墙纸图片分享下载
·腾讯QQ号码使用完全指南
·DENX U-Boot及Linux使用手册
·QQ空间透明flash代码使用说明
·电脑使用一段时间后会变慢原因解析
在Oracle9i Release 2中使用PL/SQL的集合增强 相关软件:
·黑客视频教程 VMware虚拟机的安装和使用
·黑客视频教程-灰鸽子远控使用教程
·使用GPMC随心所欲管理组策略
·FLASH 8中文使用手册
·Adobe Photoshop CS 2 简体中文使用指南
·电脑智能驱动 集合
·Auto CAD R14高级使用教程
·Microsoft Visio 2000 完全使用手册
·Linux 系统命令及其使用详解(大全)
·KillCopy(文件移动复制增强)绿色汉化版 V2.85

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot