pl/sql编程中%type和%rowtype的简单使用

pl/sql编程中%type和%rowtype的简单使用_第1张图片
--%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;

你可能感兴趣的:(oracle)