ene
20
2012

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
DECLARE  TYPE 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;
/
Compártenos ...

    Artículos relacionados

    About the Author:

    Leave a comment


    dos − 1 =

    Entradas recientes

    Encuesta Rápida

    ¿Qué OS para móvil te gusta más?

    View Results

    Loading ... Loading ...

    Recientes

    • admin: Hola Andres, Mira, en esta otra “aplicación” tienes la función publishwall que publica en el muro...
    • andres: gran aporte lo de publicar en tu muro con dialogo lo sabia pero el sin dialogo no queria saber si me podrian...
    • admin: Gracias!! Cualquier idea será bienvenida. Gracias de nuevo.
    • admin: Hola Jaiver, La página ahora mismo tiene instalado el plugin para la versión móbil, si entras desde uno de...
    • Jaiver: hola, tienen version mobil de su pagina? .. saludos.