¿Se puede poner en la estructura Select Top una variable?

27/01/2005 - 12:54 por Txarlie García | Informe spam
Hola:

Estoy intentando hacer una Select Top @NumRegistros * from Articulos, pero
no me deja. Y sin embargo, si pongo Select Top 5 * from Articulos, sí me
deja.

Se puede poner después del Top una variable?

Gracias.

Preguntas similare

Leer las respuestas

#1 Tinoco
27/01/2005 - 13:33 | Informe spam
No se puede, esta sera una funcionalidad de SQL 2005.

Hermilson Tinoco
Colombia

"Txarlie García" wrote:

Hola:

Estoy intentando hacer una Select Top @NumRegistros * from Articulos, pero
no me deja. Y sin embargo, si pongo Select Top 5 * from Articulos, sí me
deja.

Se puede poner después del Top una variable?

Gracias.

Respuesta Responder a este mensaje
#2 Carlos Sacristán
27/01/2005 - 13:43 | Informe spam
Sí se puede usar en una variable el parámetro de la opción SET ROWCOUNT,
aunque no está recomendado. Echa un vistazo en los BOL acerca de este tema


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Txarlie García" escribió en el mensaje
news:
Hola:

Estoy intentando hacer una Select Top @NumRegistros * from Articulos, pero
no me deja. Y sin embargo, si pongo Select Top 5 * from Articulos, sí me
deja.

Se puede poner después del Top una variable?

Gracias.
Respuesta Responder a este mensaje
#3 Salvador Ramos
27/01/2005 - 14:02 | Informe spam
No, eso no es posible. Aunque si que estará disponible en SQL Server 2005.
Para hacer lo que indicas deberás utilizar sql dinámico, lo cual no te lo
recomiendo.

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL server, Windows DNA y .NET)

"Txarlie García" escribió en el mensaje
news:
Hola:

Estoy intentando hacer una Select Top @NumRegistros * from Articulos, pero
no me deja. Y sin embargo, si pongo Select Top 5 * from Articulos, sí me
deja.

Se puede poner después del Top una variable?

Gracias.
Respuesta Responder a este mensaje
#4 Ivan Pascual
27/01/2005 - 15:31 | Informe spam
SI se puede...

Es facil simplemente la instruccion select la tienes que convertir a cadena
y hacer un execute... prueba con esto...
Cuidado con las comillas...


declare @a int
set @a = 5
EXEC ( 'SELECT top ' + @a + ' * FROM TU_TABLA' )

Ivan Pascual
Respuesta Responder a este mensaje
#5 Carlos Sacristán
27/01/2005 - 16:21 | Informe spam
Eso es SQL dinámico, lo cual siempre que se pueda es recomendable
evitar...


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Ivan Pascual" escribió en el mensaje
news:#
SI se puede...

Es facil simplemente la instruccion select la tienes que convertir a


cadena
y hacer un execute... prueba con esto...
Cuidado con las comillas...


declare @a int
set @a = 5
EXEC ( 'SELECT top ' + @a + ' * FROM TU_TABLA' )

Ivan Pascual


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida