Parámetros en procedimientos almacenados

17/12/2003 - 23:31 por José Antonio | Informe spam
Buenos días:
¿Es posible pasar a un procedimiento almacenado un parametro que limite el
número de registros que devuelve?. Me temo que no sera posible, aunque
desearía estar equivocado.
Supongo que sería algo así, aunque al chequear la sintaxis me da error en
@NumRegistros y creo que no se puede hacer.

Select top @NumRegistros * from Productos order by SumaVentas
Un saludo y gracias.
José Antonio Sánchez

Preguntas similare

Leer las respuestas

#1 Maximiliano Damian Accotto
17/12/2003 - 23:41 | Informe spam
bueno a ver si esto te sirve y te gusta?

declare @top int

set @top = 1

set rowcount @top

select * from part


donde dice part pone la tabla q vos quieras, el @top podria ser un input de
Store sin problema

Un saludo enorme

Maximiliano Damian Accotto
(maxi_accotto[arroba]speedy.com.ar)

MSN:
"José Antonio" escribió en el mensaje
news:
Buenos días:
¿Es posible pasar a un procedimiento almacenado un parametro que limite el
número de registros que devuelve?. Me temo que no sera posible, aunque
desearía estar equivocado.
Supongo que sería algo así, aunque al chequear la sintaxis me da error en
@NumRegistros y creo que no se puede hacer.

Select top @NumRegistros * from Productos order by SumaVentas
Un saludo y gracias.
José Antonio Sánchez


Respuesta Responder a este mensaje
#2 Maximiliano Damian Accotto
18/12/2003 - 00:01 | Informe spam
se me olvido esto al final perdon

set rowcount 0

sino pones eso cualquier otro select dara siempre lo mismo :D


Maximiliano Damian Accotto
(maxi_accotto[arroba]speedy.com.ar)



Maximiliano Damian Accotto
(maxi_accotto[arroba]speedy.com.ar)

MSN:
"José Antonio" escribió en el mensaje
news:
Buenos días:
¿Es posible pasar a un procedimiento almacenado un parametro que limite el
número de registros que devuelve?. Me temo que no sera posible, aunque
desearía estar equivocado.
Supongo que sería algo así, aunque al chequear la sintaxis me da error en
@NumRegistros y creo que no se puede hacer.

Select top @NumRegistros * from Productos order by SumaVentas
Un saludo y gracias.
José Antonio Sánchez


Respuesta Responder a este mensaje
#3 Cam Acosta
18/12/2003 - 00:33 | Informe spam
Se podria hacer de esta forma, utilizando sql dinamico:


procedure ppp @NumRegistros int

declare @sql nvarchar(2000)

set @sql = 'Select top' + cast(@NumRegistros as varchar(10)) ' + * from
Productos order by SumaVentas'

exec sp_executesql @sql

Un saludo,

Camilo Acosta



"José Antonio" escribió en el mensaje
news:
Buenos días:
¿Es posible pasar a un procedimiento almacenado un parametro que limite el
número de registros que devuelve?. Me temo que no sera posible, aunque
desearía estar equivocado.
Supongo que sería algo así, aunque al chequear la sintaxis me da error en
@NumRegistros y creo que no se puede hacer.

Select top @NumRegistros * from Productos order by SumaVentas
Un saludo y gracias.
José Antonio Sánchez


Respuesta Responder a este mensaje
#4 Javier Loria
18/12/2003 - 00:44 | Informe spam
Hola:
Un comentario adicional es que el SET ROWCOUNT va de salida :(
Tomado del BOL:
=Es recomendable que las instrucciones DELETE, INSERT y UPDATE que
actualmente utilizan SET ROWCOUNT se vuelvan a escribir con la sintaxis TOP.
= Existe tambien la posiblidad de hacerlo usando SQL Dinamico (pero es
mala practica).
Usando SQL "Puro" hay algunas formas de lograrlo usando (numerando las
filas y con un WHERE) pero son lentas y complejas.
Algo como:

SELECT A.AU_ID
FROM AUTHORS AS A
JOIN AUTHORS AS B
ON A.AU_ID>=B.AU_ID
GROUP BY A.AU_ID
HAVING COUNT(*)<

Saludos,

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

Maximiliano Damian Accotto escribio:
se me olvido esto al final perdon

set rowcount 0

sino pones eso cualquier otro select dara siempre lo mismo :D


Maximiliano Damian Accotto
(maxi_accotto[arroba]speedy.com.ar)




MSN:
"José Antonio" escribió en el mensaje
news:
Buenos días:
¿Es posible pasar a un procedimiento almacenado un parametro que
limite el número de registros que devuelve?. Me temo que no sera
posible, aunque desearía estar equivocado.
Supongo que sería algo así, aunque al chequear la sintaxis me da
error en @NumRegistros y creo que no se puede hacer.

Select top @NumRegistros * from Productos order by SumaVentas
Un saludo y gracias.
José Antonio Sánchez
Respuesta Responder a este mensaje
#5 Maximiliano Damian Accotto
18/12/2003 - 00:57 | Informe spam
ooooo!! q macana porque me gustaba mucho :D

y bue habra q buscar otra forma, los sql dinamicos no me gustan por eso puse
este ejemplo

Maximiliano Damian Accotto
(maxi_accotto[arroba]speedy.com.ar)

MSN:
"Javier Loria" escribió en el mensaje
news:
Hola:
Un comentario adicional es que el SET ROWCOUNT va de salida :(
Tomado del BOL:
=> Es recomendable que las instrucciones DELETE, INSERT y UPDATE que
actualmente utilizan SET ROWCOUNT se vuelvan a escribir con la sintaxis


TOP.
=> Existe tambien la posiblidad de hacerlo usando SQL Dinamico (pero es
mala practica).
Usando SQL "Puro" hay algunas formas de lograrlo usando (numerando las
filas y con un WHERE) pero son lentas y complejas.
Algo como:

SELECT A.AU_ID
FROM AUTHORS AS A
JOIN AUTHORS AS B
ON A.AU_ID>=B.AU_ID
GROUP BY A.AU_ID
HAVING COUNT(*)<

Saludos,

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

Maximiliano Damian Accotto escribio:
> se me olvido esto al final perdon
>
> set rowcount 0
>
> sino pones eso cualquier otro select dara siempre lo mismo :D
>
>
> Maximiliano Damian Accotto
> (maxi_accotto[arroba]speedy.com.ar)
>
>
>
>
> MSN:
> "José Antonio" escribió en el mensaje
> news:
>> Buenos días:
>> ¿Es posible pasar a un procedimiento almacenado un parametro que
>> limite el número de registros que devuelve?. Me temo que no sera
>> posible, aunque desearía estar equivocado.
>> Supongo que sería algo así, aunque al chequear la sintaxis me da
>> error en @NumRegistros y creo que no se puede hacer.
>>
>> Select top @NumRegistros * from Productos order by SumaVentas
>> Un saludo y gracias.
>> José Antonio Sánchez


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