RESPONDER UNA PREGUNTA

Si para responder la pregunta, crees necesario enviar un archivo adjunto, puedes hacerlo a traves del correo [email protected]

    Pregunta:  18943 - ORACLE: PROBLEMAS CON LA SENTENCIA IN
Autor:  Roberto Navazo
Tengo un problema con la sentencia IN.
El problema es que tengo una LOV o un Cursor en el cuel tengo la siguiente condición:

Where coddelegacion IN (:Parameter.Delegaciones);

En el parametro Delegaciones guardo las Delegaciones que el Usuario selecciones de la sguiente forma:

***************CONTROL DELEGACIONES**************/

IF :DELEGACIONFIN.CODDELE2 IS NOT NULL THEN
:PARAMETER.DELEGACIONES := :DELEGACIONFIN.CODDELE2;
NEXT_RECORD;
END IF;
WHILE :SYSTEM.LAST_RECORD = 'FALSE' AND :SYSTEM.LAST_RECORD IS NOT NULL LOOP
:PARAMETER.DELEGACIONES := :PARAMETER.
DELEGACIONES||','||:DELEGACIONFIN.CODDELE2;
NEXT_RECORD;
END LOOP;
IF :DELEGACIONFIN.CODDELE2 IS NOT NULL THEN
:PARAMETER.DELEGACIONES := :PARAMETER.
DELEGACIONES||','||:DELEGACIONFIN.CODDELE2;
END IF;
**************************************************
Mi problema es el suiguiente. Oracle al parecer no entiende el parametro ya que si solo introduzco una delegación no hay problemas ya que lo entiende perfectamente. Si introduzco dos ya empiezan los problemas. Supongo que el problema reside en que Oracle al encontrarse con la sentencia IN esperará un valor Numérico un caracter que es la coma, otro numérico, otra coma, así sucesivamente.

Alguien sabe un metodo para transformar ese parametro Delegaciones para que la sentencia In lo entienda?


Nombre
Apellidos
Correo
Comentarios