|
PLSQL - Insert/Update desde una fila (rowtype) |
|
|
Con la versión 9.2, Oracle introduce esta nueva funcionalidad, que permite directamente insertar (o actualizar) una fila de una tabla usando una variable tipo fila (ROWTYPE), desde PL/SQL. De esta forma no tenemos que indicar los nombres de la columnas de la fila a insertar (o actualizar).
- La forma de hacer el INSERT sería la siguiente. Supongamos que en la tabla EMP, queremos insertar una fila con EMP.EMPNO=1 y los valores del resto de las columnas para la fila EMP.EMPNO=7902:
declare
emp_rec emp%rowtype;
begin
select * into emp_rec from emp where empno=7902;
emp_rec.empno:=1;
insert into emp values emp_rec;
end;
/
- La forma de hacer el UPDATE sería ésta. Supongamos que ahora queremos que la fila EMP.EMPNO=1 tenga, para el resto de columnas, los valores que tienen en la fila EMP.EMPNO=7900:
declare
emp_rec emp%rowtype;
begin
select * into emp_rec from emp where empno=7900;
emp_rec.empno:=1;
update emp set row = emp_rec where empno=emp_rec.empno;
end;
/
Fecha de publicación: 09/11/2005
Autor: Juan Luis Serradilla Amarilla. juanlu@um.es |
|
Última modificación ( 07.03.2012 )
|