De tu procedure inicial yo vigilaría un par de cosas:
- El nombre de la variable es valores. Nunca he probado con consulta.valores, pero creo que no funcionaría correctamente
- Los espacios en blanco antes y después de la variable que estás concatenando ya que de lo contrario se unirá tu condición con el order by que le sigue.
Creo que una cosa así debería funcionarte:
Código SQL:
Ver originalPROCEDURE consulta(codigo IN VARCHAR, descripcion IN VARCHAR, valores IN VARCHAR,RESULT OUT CUR_RECORDSET)
IS
BEGIN
OPEN RESULT FOR
'SELECT codigo,descripcion
FROM estados
WHERE ESTADO = 1 '|| valores ||' ORDER BY CODREQUERIMIENTO DESC';
EXCEPTION
WHEN OTHERS THEN
OPEN RESULT FOR
SELECT '' FROM DUAL;
END;
Saludos.