转载自:http://ql103.itpub.net/post/42721/514523
对于数据库的某些表,我们常要复制其对应的某条记录,新纪录与老记录仅有某一两个字段值不一样,其他完全一样。寻找简单的方案,而不是逐个字段拼Sql。
解决方案1:
begin |
| for rs in ( select * from dept where deptno=40) |
| loop |
| rs.deptno:=50; |
| insert into dept values rs; |
| end loop; |
| end ; |
解决方案2:
declare |
| cursor dept_cursor is select * from dept where deptno=40; |
| begin |
| for dept_rs in dept_cursor |
| loop |
| exit when dept_cursor%notFound; |
| dept_rs.deptno:= null ; |
| insert into dept values dept_rs; |
| end loop; |
| end ; |