本文整理自网络,侵删。
一、PL/SQL记录:一条记录
可简化单行多列的数据的处理。当使用pl/sql记录时,应用开发人员即可以自定义记录类型和记录变量,也可以使用%rowtype属性直接定义记录变量。
1、当使用自定义的pl/sql记录时,需要分别定义pl/sql记录类型和记录变量。
declare type emp_record_type is record( name emp.ename%type,salary emp.sal%type ); emp_record emp_record_type; begin select ename,sal into emp_record from emp where empno=&no; dbms_output.put_line('雇员名:'||emp_record.name); dbms_output.put_line('雇员工资:'||emp_record.salary); end;
2、使用%rowtype 属性定义记录变量
declare emp_record emp%rowtype; begin select * into emp_record from emp where empno=&no; dbms_output.put_line('姓名: '||emp_record.ename); dbms_output.put_line('工资: '||emp_record.sal); end;
二、PL/SQL表:一列数据
用于处理单列多行数据。类似于一维数组。PL/SQL表的元素个数没有限制,且下表可为负数。
语法如下:
type 表类型 is table of 类型 index by binary_integer; 表变量名 表类型;
index by binary_integer 子句代表以符号整数为索引,访问表类型变量中的数据方法就是“表变量名(索引符号整数)”。可以不按顺序赋值,但必须先赋值后使用。
1、使用PL/SQL表处理单列单行数据
declare type ename_table_type is table of emp.ename%type index by binary_integer; ename_table ename_table_type; begin select ename into ename_table(1) from emp where empno=&eno; dbms_output.put_line('雇员名: '||ename_table(1)); end;
2、使用PL/SQL表处理单列多行数据
declare type ename_table_type is table of emp.ename%type index by binary_integer; ename_table ename_table_type; begin select ename bulk collect into ename_table from emp where deptno=&dno; for i in 1..ename_table.count loop dbms_output.put_line('雇员名: '||ename_table(i)); end loop; end;
三、PL/SQL记录表:多列多行表
用于处理多行多列数据。类似于多维数组。
相关阅读 >>
oracle 11g for linux centos 5.2 详细安装步骤分享(图解教程)
更多相关阅读请进入《oracle》频道 >>

数据库系统概念 第6版
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。