今天就跟大家聊聊有关如何理解pl/sql record,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
PL/sql记录(record)相当于高级语言中的结构,它有益于处理单行数据。例如要检索雇员的姓名、工资和补助时,如果使用标量变量接收数据,需要定义三个变量。为了简化单行多列数据的处理,可以使用记录。
1、定义Record
在定义时,可以是开发人与自定义记录类型和记录变量,也可以使用%rowtype直接定义记录变量。
例如:自定义Record
DECLARE
TYPE emp_record_type IS RECORD(
name emp.ename%type,
salary emp.sal%type,
dno emp.deptno%type
);
emp_record emp_record_type ;
emp_record是基于记录类型emp_record_type所定义的记录变量。记录变量名:emp_record
%rowtype可以基于表或视图定义记录变量。当使用该属性定义记录变量时,记录成员的名称和类型与表或视图的列的名称和类型完全相同。
语法:identifier table_name%rowtype;
当使用%rowtype属性定义记录变量时,记录成员的个数、名称、类型与表或视图的列的个数、名称、类型相同。
例如:
emp_record emp%rowtype
记录变量emp_record的成员名为表emp的列名(empno、ename..)
使用示例:
set serveroutput on
DECLARE
TYPE emp_record IS RECORD(
name emp.ename%type,
salary emp.sal%type,
dno emp.deptno%type
);
emp_record emp_record_type;
BEGIN
select ename,sal,deptno INTO emp_record
FROM emp
WHERE empno=&no;
dbms_output.put_line(emp_record.name);
END;
当引用记录变量成员时,必须在成员名之前加上记录变量名作为前缀。
看完上述内容,你们对如何理解pl/sql record有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程之家行业资讯频道,感谢大家的支持。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。