Hola listeros:

 

Estoy desarrollando un procedimiento almacenado no tan simple como aquellos en que se realiza un select.

En el mismo, supongan, tengo un IF. Uso un cursor, lo recorro, y según ciertas condiciones (que no puedo evaluar con un simple where), devuelvo o no un registro.

La cuestión es que no sé la mejor manera de devolver la información…

 

Podría usar una tabla temporal ¿?

 

Estoy usando una variable nvarchar (4000) para formar el “IN” de un select que realizo posteriormente… por ejemplo:

 

                                                                                              if (cumple_condicion)

                                                                                                              set @[EMAIL PROTECTED]','+cast(@id_de_la_tabla as nvarchar)

                                                                                              else

                                                                                                              if (no_cumple_la_condicion)

                                                                                                                             set @[EMAIL PROTECTED]','+cast(@id_de_la_tabla as nvarchar)

entonces al final:

 

                                               set @query='select campo1 [, campo2, …] from tabla where id_tabla in (-1' + @query + ') order by campo1 desc'

                                               exec (@query)

 

 

Sé que es una forma de hacerlo pero no se si es la mejor.

Si tengo demasiados registros me salta error por la longitud de 4000 de la variable nvarchar.

 

Además necesito parear esta tabla con otras paramétricas y no se si me conviene hacerlo a nivel store procedure (más problemas tendré con la longitud de la variable) o desde afuera (para poder parear afuera tendría que insertar los resultados del sp en una tabla temporal o, algo que no me parece muy efectivo, por cada registro, consultar las tablas paramétricas)…

 

Espero que Uds. que tienen más experiencia puedan ayudarme a encontrar la mejor opción.

 

Atte.

 

Silvana N. Quiroga.



Coches nuevos, coches de ocasión, coches de Km 0 Si piensas en cambiar de coche, MSN Motor.

Responder a