Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Cual es el maximo para un IN??

Estas en el tema de Cual es el maximo para un IN?? en el foro de Bases de Datos General en Foros del Web. Hola foreros que bueno es estar de regreso spor estos lares y como siempre con dudas y preguntas. En esta ocacion Tengo la siguiente ocnsulta: ...
  #1 (permalink)  
Antiguo 11/03/2010, 13:25
Avatar de zeusdelolimpo  
Fecha de Ingreso: agosto-2007
Mensajes: 54
Antigüedad: 16 años, 8 meses
Puntos: 0
Cual es el maximo para un IN??

Hola foreros que bueno es estar de regreso spor estos lares y como siempre con dudas y preguntas.


En esta ocacion Tengo la siguiente ocnsulta:

Código SQL:
Ver original
  1. SELECT * FROM tabla1 WHERE campo1 IN ('cadena1', 'cadena2' , 'cadenan')

Mi pregunta es, Cuantas "cadenasn" como maximo me permite Oracle para la clausula "IN" ??

Esto es por que no tengo la cifra exacta de esas cadenas, lo voy hacer dinamico y dependera de otras cosas que me traiga "3 cadenas" o "300 Cadenas" o mas no lo se pero quiero saber si hay un limite.

de antemano muchas gracias.
  #2 (permalink)  
Antiguo 11/03/2010, 13:32
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Cual es el maximo para un IN??

No hay limite.
Sin embargo, entre mayor sea el numero de elementos, la performance de la base de datos se verá seriamente afectada.

La clausula not in no es muy eficiente.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 11/03/2010, 16:12
Avatar de zeusdelolimpo  
Fecha de Ingreso: agosto-2007
Mensajes: 54
Antigüedad: 16 años, 8 meses
Puntos: 0
De acuerdo Respuesta: Cual es el maximo para un IN??

lo siento amigo creo que si te equibocaste, amenos que me expliques por que salio el error :


SQR 5528) ORACLE OCIStmtExecute error 1795 in cursor 14:
ORA-01795: maximum number of expressions in a list is 1000



Lo cual me dice que para oracle tiene un maximo de 1000 pero bueno ya lo he solucionado muchas gracias por atender.
  #4 (permalink)  
Antiguo 11/03/2010, 16:16
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Cual es el maximo para un IN??

Que raro...
hace poco hice una consulta así

Código SQL:
Ver original
  1. SELECT estacion FROM estaciones WHERE id_estacion IN(SELECT iestacion FROM clima)

Aunque se demoró un poco, me botó el resultado.

la tabla clima tiene mas de 1000 ids.

Pero el error parece ser claro...

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 11/03/2010, 16:38
Avatar de zeusdelolimpo  
Fecha de Ingreso: agosto-2007
Mensajes: 54
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Cual es el maximo para un IN??

Cita:
Iniciado por huesos52 Ver Mensaje
Que raro...
hace poco hice una consulta así

Código SQL:
Ver original
  1. SELECT estacion FROM estaciones WHERE id_estacion IN(SELECT iestacion FROM clima)

Aunque se demoró un poco, me botó el resultado.

la tabla clima tiene mas de 1000 ids.

Pero el error parece ser claro...

saludos
Bueno pero tu consulta esta diferente a la mia, la tuya es un subquery y el mio son valores me explico??

osea el mio es:
Código SQL:
Ver original
  1. SELECT * FROM  tabla1 WHERE campo1 IN ( 'cadena1', 'cadena2', 'cadena 3'..........hasta..........'cadena1000')


cuando tu trates de poner 1001 cadenas te botara ese error me explico espero les ayude y gracias por volver a responder

Etiquetas: maximo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:05.