引用:
%TYPE :引用某个表某个字段的类型和长度,
%ROWTYPE :引用某个表全部字段的类型和长度
记录
Record Type:复合多个其他类型,其中定义Record Type语法如下
TYPE record_type is RECORD
(
record_field1 field1type [NOT NULL] [:= expr1 ];
record_field2 field2type [NOT NULL] [:= expr2 ];
…
record_fieldn fieldntype [NOT NULL] [:= exprn ];
)
record_type是定义的新的记录类型
record_field1… record_fieldn是记录类型字段名称
Field1type… fieldntype是各字段类型
NOT NULL可选项,指定字段是否可以为空
Express1…expressn给各字段赋初始值
例子:
declare
v_salary number;
v_salary_ini number:=1000;
v_ename varchar2(20);
v_ename_ini varchar2(20):='smith';
type r_dept is record
(
department_id number,
department_name varchar2(50)
);
r_dept_rec r_dept;
begin
v_salary_ini:=1500;
r_dept_rec.department_id:=3000;
r_dept_rec.department_name:='hr';
dbms_output.put_line(r_dept_rec.department_id);
exception
when others then
null;
end;