Hola a todos, hoy os voy a explicar como podemos parametrizar un cursor en PL SQL.
Cuando trabajamos con cursores en PL SQL, es posible que necesitemos que alguna parte del cursor sea parametrizable y dale nosotros un valor.
Os dejo un tutorial sobre cursores, os recomiendo echarle un ojo antes.
Para parametrizar cursores, tenemos que indicarlos entre paréntesis, indicando su nombre y tipo.
CURSOR cursor_name(param1 tipo_param1, ...) IS SELECT_statement;
Veamos un ejemplo con una tabla de clientes, mostrando los clientes de un país concreto pedido por teclado.
declare v_pais clientes.pais%type := &pais; cursor clientes_cursor(p_pais clientes.pais%type) is select nombrecliente from clientes c where pais = p_pais; begin for registro in clientes_cursor(v_pais) loop dbms_output.put_line(registro.nombrecliente); end loop; end; /
Si necesitamos más parámetros, solo tenemos que añadírselos.
Veamos un ejemplo con una tabla de clientes, mostrando los clientes de un país concreto pedido por teclado.
declare v_pais clientes.pais%type := &pais; v_limitecredito clientes.limitecredito%type := &limitecredito; cursor clientes_cursor(p_pais clientes.pais%type, p_limitecredito clientes.limitecredito%type) is select nombrecliente from clientes c where pais = p_pais and limitecredito = p_limitecredito; begin for registro in clientes_cursor(v_pais, v_limitecredito) loop dbms_output.put_line(registro.nombrecliente); end loop; end; /
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
Deja una respuesta