Saltar al contenido

Cla煤sula RETURNING

RETURNING INTO

Se utiliza en sentencias UPDATE y DELETE.
Devuelve valores de columna que han sido modificados/borrados por la orden DML anterior.
S贸lo se puede utilizar en tablas, vistas materializadas y vistas basadas en una sola tabla y SOLO 1 registro:

DELETE FROM EMPLEADOS
WHERE EmpID = aEmpID
RETURNING nombre, apellidos INTO vname, vApp;
 
UPDATE EMPLEADOS
SET salario = salario * 1,2
WHERE EmpID = aEmpID
RETURNING salario INTO v$1

RETURNING .. BULK COLLECT INTO

Si la sentencia afecta a m谩s de una fila podemos seguir utilizando la cla煤sula returning into, pero tenemos que usar una colecci贸n para almacenar los datos, con BULK COLLECT.

SET SERVEROUTPUT ON
DECLARETYPE c1_emp IS TABLE OF EMPLEADOS.CAMPO1%TYPE;
list_emp c1_emp;
BEGIN
  UPDATE PRUEBA聽 SET聽聽聽 CAMPO1 = CAMPO1
  RETURNING id BULK COLLECT INTO list_emp;
  FOR i IN list_emp.first .. list_emp.last LOOP
    DBMS_OUTPUT.put_line('Realizado update CAMPO1=' || list_emp (i));
  END LOOP;
  COMMIT;
END;
/