oracle中%type和%rowtype
1。关于%type
定义一个变量时,将这个变量与列绑定。
如:
declare v_emp emp.sal%type;
这样,v_emp就是emp表sal列的类型,就算sal的列类型改变,v_emp的类型也会随之改变。
2。关于%rowtype
定义一个记录变量,将其声明为具有相同类型的数据库行。
如:
declare
cursor c is
select * from emp;
v_emp emp%rowtype;
begin
open c;
fetch c into v_emp;
while(c%found) loop
dbms_output.put_line(v_emp.ename);
fetch c into v_emp;
end loop;
close c;
end;
通俗的讲,被%rowtype修饰后的变量就是一条记录了。