restriccion en clausula IN ??

05/03/2008 - 13:23 por DarthSidious | Informe spam
buenos dias, tengo una duda,
en una consulta, en el Where, tengo un IN del estilo

not in(valor1,valor2,etc)

en ese in hay 77 "valores".

El problema es que esa consulta me da un error del tipo:

Servidor: mensaje 1205, nivel 13, estado 1, línea 1
La transacción (Id. de proceso 53) quedó en interbloqueo en thread |
communication buffer recursos con otro proceso y fue elegida como sujeto del
interbloqueo. Ejecute de nuevo la transacción.

Lo raro es que la consulta se ejecuta bien si le quito 2 valores a la lista
dentro del IN (quedando en total 75 valores).

Entoces, hay un numero maximo para poner en un IN ? hay alguna forma de
evitar esto?

gracias!!
 

Leer las respuestas

#1 Gux (MVP)
05/03/2008 - 14:08 | Informe spam
El error no es por un posible número máximo sino porque se produjo un
deadlock. Alguna peculiaridad tiene la consulta que usted provoca un deadlock.

Si el error es fácilmente reproducible, analice ese deadlock. En SQL Server
2005 usted puede hacer eso con el Profiler.


Gustavo Larriera, Microsoft MVP
https://mvp.support.microsoft.com/profile/gux
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"DarthSidious" wrote:

buenos dias, tengo una duda,
en una consulta, en el Where, tengo un IN del estilo

not in(valor1,valor2,etc)

en ese in hay 77 "valores".

El problema es que esa consulta me da un error del tipo:

Servidor: mensaje 1205, nivel 13, estado 1, línea 1
La transacción (Id. de proceso 53) quedó en interbloqueo en thread |
communication buffer recursos con otro proceso y fue elegida como sujeto del
interbloqueo. Ejecute de nuevo la transacción.

Lo raro es que la consulta se ejecuta bien si le quito 2 valores a la lista
dentro del IN (quedando en total 75 valores).

Entoces, hay un numero maximo para poner en un IN ? hay alguna forma de
evitar esto?

gracias!!

Preguntas similares