Cursores con parámetros en PL SQL

En una anterior entrada mostraba cómo manejar cursores en PL SQL, ahora veremos cómo manejar cursores con parámetros.

Los cursores con parámetros son útiles cuando queremos restringir los resultados de la consulta, también son prácticos porque los declararemos como variables (no es necesario reescribir el código) y si no es necesario utilizar todas las columnas devueltas (como cuando se usa la sentencia FETCH).

PLSQL:
  1.    CURSOR c_prueba(dato1 NUMBER, dato2 VARCHAR2) IS
  2.       SELECT s.col1, s.col2, s.col3
  3.         FROM sales s
  4.        WHERE s.YEAR = dato1
  5.          AND s.status = dato2; 
  6.    
  7.    DBMS_OUTPUT.put_line('Ventas del 2007 que tengan estado CERRADO ');
  8.    --Noten que no es necesario definir la variable wc_cursor
  9.    FOR wc_cursor IN c_prueba(2007, 'CERRADO') LOOP
  10.       DBMS_OUTPUT.put_line('col1 '||wc_cursor.col1||' col2 '||wc_cursor.col2);
  11.    END LOOP;
  12.  
  13.    DBMS_OUTPUT.put_line('Ventas del 2008 con estado PENDIENTE ');
  14.    --Noten que no es necesario utilizar todas las columnas del cursor
  15.    FOR wc_cursor IN c_prueba(2008, 'PENDIENTE') LOOP
  16.       DBMS_OUTPUT.put_line('col1 '||wc_cursor.col1||' col3 '||wc_cursor.col3);
  17.    END LOOP;
  18.       DBMS_OUTPUT.put_line('Error '||SQLERRM)
  19. END;

Linuxfera Enviar a Linuxfera
Entradas Relacionadas:
  • Cursores en PL SQL (1)
  • ORA-01422: Exact fetch returns more than requested number of rows
  • Malditos programas
  • 0 Respuestas a “Cursores con parámetros en PL SQL”


    1. Ningún Comentario

    Añade un Comentario