今天就跟大家聊聊有关如何理解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
2、使用%rowtype属性定义记录变量
%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有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/199308.html