Principales respuestas
AÑADIR UNA VARIABLE A LA CLAUSULA TOP EN UNA CONSULTA SQL

Pregunta
-
Buenas tardes,
Estoy intentanto usar una variable en la clausula top en una consulta sql dentro de una caja de integrations services y no me da fallo, es posible o estoy haciendo algo mal.
Lo que tengo es esto:
SELECT TOP @UNO EMAIL FROM AX_EMAILS.
En el parameter mapping tengo la variable puesta.
esa mas si hago esto funciona.
select * from ax_emails where id=@uno.
Muchas gracias.
Respuestas
-
el driver al menos en 2005 no parece ser capaz de leerlo. te sugiero que lo cambies por una consulta desde variable y cambies la consulta de forma dinámica según ese parámetro. otra alternativa es si te has fijado un orden concreto hacer algo así en tu query.
select * from (select row_number() over(order by table_name) fila,* from information_Schema.tables) a where fila<=?
Comparte lo que sepas, aprende lo que no sepas (FGG)
portalSQL
El rincón del DBA- Marcado como respuesta vigasi martes, 25 de octubre de 2011 7:33
Todas las respuestas
-
el driver al menos en 2005 no parece ser capaz de leerlo. te sugiero que lo cambies por una consulta desde variable y cambies la consulta de forma dinámica según ese parámetro. otra alternativa es si te has fijado un orden concreto hacer algo así en tu query.
select * from (select row_number() over(order by table_name) fila,* from information_Schema.tables) a where fila<=?
Comparte lo que sepas, aprende lo que no sepas (FGG)
portalSQL
El rincón del DBA- Marcado como respuesta vigasi martes, 25 de octubre de 2011 7:33
-
Creo que el problema es simplemente que no has puesto los paréntesis
Pon: SELECT TOP (@UNO) EMAIL FROM AX_EMAILS.
La cláusula ANSI incluye los paréntesis. El no ponerlos en un futuro será descontinuado.
un saludo
Atentamente, Enrique Catala Bañuls -
No Enrique es que SSIS además debe parsear de alguna forma para cambiar la ? por la variable.. y no lo hace bien ni siquiera con los paréntesis. por eso le propuse esta otra solución.
Comparte lo que sepas, aprende lo que no sepas (FGG)
portalSQL
El rincón del DBA