ROWTYPE在insert和update语句里的妙用--转载

PL/SQL里的ROWTYPE类型具有非常大的用处和灵活性,现在发现ROWTYPE在insert和update语句里的妙用,可以节省很多代码,特别是在行copy和更新的时候。我在google的搜索结果里,看洋文看的头晕晕的时候找到的,惊喜啊!在oracle官方网站的手册里竟然没有这个,不知道咋回事。

declare
v_dept dept%rowtype;
begin
v_dept.deptno := 60;
v_dept.dname := 'sample';
v_dept.loc := 'chicago';
insert into dept values v_dept;
end;

declare
v_dept dept%rowtype;
begin
v_dept.deptno := 60;
v_dept.dname := 'sample2';
v_dept.loc := 'dallas';
update dept set ROW=v_dept where deptno=v_dept.deptno;
end;

我在oracle10g里调试通过,下面是调试的例子。

declare
rwEmp t_mst_employee%rowtype;
begin
select * into rwEmp from t_mst_employee where emp_no='10001';
rwEmp.emp_no := '20001';

insert into t_mst_employee values rwEmp;
--update t_mst_employee set ROW=rwEmp where emp_no='3900';
end;

你可能感兴趣的:(oracle10g)