定义记录类型
TYPE 类型名称 IS RECORD (成员名称数据类型 [[NOT NULL] [:= 默认值] 表达式] ,…成员名称数据类型 [[NOT NULL] [:= 默认值] 表达式]) ;
用户自己操作记录类型数据
DECLARE
TYPE dept_type IS RECORD (
deptno dept.deptno%TYPE := 80, – 定义默认值
dname dept.dname%TYPE ,
loc dept.loc%TYPE) ;
v_dept dept_type ;
BEGIN
v_dept.dname := ‘MLDN培训中心’ ; – 为记录类型成员赋值
v_dept.loc := ‘中国-北京’ ; – 为记录类型成员赋值
DBMS_OUTPUT.put_line(‘部门编号:’ || v_dept.deptno || ‘,名称:’ || v_dept.dname || ‘,位置:’ || v_dept.loc) ;
END ;
/
增加一条新的记录,利用记录类型保存数据
DECLARE
TYPE dept_type IS RECORD (
deptno dept.deptno%TYPE ,
dname dept.dname%TYPE ,
loc dept.loc%TYPE
) ;
v_dept dept_type ;
BEGIN
v_dept.dname := ‘MLDN’ ;
v_dept.loc := ‘北京’ ;
v_dept.deptno := 80 ;
INSERT INTO dept VALUES v_dept ; – 直接插入记录类型的数据
END ;
/
修改数据,利用记录类型保存数据
DECLARE
TYPE dept_type IS RECORD (
deptno dept.deptno%TYPE ,
dname dept.dname%TYPE ,
loc dept.loc%TYPE
) ;
v_dept dept_type ;
BEGIN
v_dept.dname := ‘VDATAORACLE’ ;
v_dept.loc := ‘中国’ ;
v_dept.deptno := 80 ;
UPDATE dept SET ROW=v_dept WHERE deptno=v_dept.deptno ;
END ;
/