--%type自定义复合类型(可存储多个数据且可以是不同类型的组合,往往指定多个列到该类型,且只能返回一行记录)
DECLARE --声明单元
TYPE tmp_emp IS RECORD(
e_name emp.name%TYPE,
e_gender emp.gender%TYPE,
e_birth emp.birth%TYPE
);
type_emp tmp_emp;
BEGIN--执行单元
SELECT name,gender,birth INTO type_emp FROM emp WHERE ID = 105;--只能返回一行
dbms_output.put_line(type_emp.e_name);
dbms_output.put_line(to_char(type_emp.e_birth, 'yyyy-mm-dd'));
dbms_output.put_line(type_emp.e_gender);
END;
--%rowtype自定义行记录(是%type类型的扩展,可按具体限制条件映射一行记录)
DECLARE
temp_emp emp%ROWTYPE;
BEGIN
SELECT * INTO temp_emp FROM emp WHERE ID = 101;
dbms_output.put_line(temp_emp.name);
END;