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? |
Respuesta: | Rodrigo echeverria |
la verda el in en un curso no te funca, debes crear un select dinamico de esa forma podras hacer todo esto....
la idea es bueno pero en un select solo.... saludos... |