当需要数据库表中的某行作为一个数就类型时,就需要 %ROWTYPE 数据类型;当需要某列作为一个数据类型时,就需要使用 %TYPE 数据类型;
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 Connected as scott
%ROWTYPE
declare myemp emp%rowtype; begin select * into myemp from emp where empno = 7788; dbms_output.put_line(myemp.ename);--输出 SCOTT myemp.ename:='TEST'; --将 myemp 作为整行更新 update emp set row=myemp where empno=7788; --将 myemp 作为整行插入 insert into emp values myemp; dbms_output.put_line(myemp.ename);--输出 TEST end;
%TYPE
declare myjob emp.job%type; begin select job into myjob from emp where empno = 7788; dbms_output.put_line(myjob); end; --输出 ANALYST