DBMS_SQL stored procedure dinámico

Alejandra
23 de Febrero del 2005
Cómo puedo usar el DBMS_SQL para construir un stored procedure que me devuelva los

En la página tengo un combo de TIPO con los siguientes 3 valores: EMPRESAS, PERSONAS y TODOS
También hay un combo PRIORIDAD con los siguientes 3 valores: ALTA, BAJA y TODOS

Por lo que puede haber varias combinaciones de consulta.

COMO PUEDO USAR EL DBMS_SQL PARA QUE DENTRO DE UN STORED PROCEDURE SOLO CON UN CURSOR PUEDA CONSTRUIR EL QUERY DINAMICO

Si selecciono TIPO=PERSONAS y PRIORIDAD=TODOS, el query sería:
SELECT * FROM tablaclientes [where tipo='PERSONAS']

Si selecciono TIPO=TODOSy PRIORIDAD=TODOS, el query sería:
SELECT * FROM tablaclientes [ ]


Rodolfo Reyes
23 de Febrero del 2005
Busca documentación sobre REF_CURSOR

Un ejemplo un poco tosco:

CREATE OR REPLACE PACKAGE Prueba As
TYPE tc_Prueba IS REF CURSOR;

FUNCTION Buscar(aDato IN VARCHAR2)
RETURN tc_Prueba;

END Prueba;

CREATE OR REPLACE PACKAGE BODY Prueba As
FUNCTION Buscar(aDato IN VARCHAR2)
RETURN tc_Prueba
IS
v_Registros tc_Prueba;
BEGIN
OPEN v_Registros FOR SELECT *
FROM MyTable
WHERE ID = aDato;
RETURN(v_Registros);
END Buscar;