oralce复制行的小技巧

来源:互联网 发布:淘宝发货地址怎么修改 编辑:程序博客网 时间:2024/06/05 19:15
--oralce复制行的小技巧
--新纪录与老记录仅有某一两个字段值不一样(此案例为deptno,empno),其他字段完全一样
declare
cursor emp_cursor is select * from emp where deptno=10;--关联游标与select语句
v_max_empno emp.empno%type;
v_sql varchar2(200):='select max(empno) from emp';
begin
   execute immediate v_sql into v_max_empno;--动态执行sql,给v_max_empno赋值
   for emp_row in emp_cursor --emp_row代表index
   loop
     exit when emp_cursor%notfound;
     v_max_empno:=v_max_empno+1;
     emp_row.deptno:=40;--修改部门编号
     emp_row.empno:=v_max_empno;--修改主键值
     insert into emp values emp_row;
   end loop;
end;
0 0