sin cursores

18/10/2007 - 19:00 por etra| | Informe spam
existe alguna manera de recorrer una tabla sin usa cursores?
es solo una pregunta teorica, porque en algun lado lei que cualquier
consulta se puede resolver sin usar cursores

gracias

Preguntas similare

Leer las respuestas

#1 Enrique Catala Bañuls
18/10/2007 - 20:42 | Informe spam
Yo en todos los años que llevo trabajando con SQL Server siempre he
conseguido evitar los cursores. El tema es si puedes invertir el tiempo
suficiente en solucionar el problema planteándolo de otra forma. A veces la
solución no está tan a la vista como parece.

Un saludo.
Atentamente, Enrique Catala Bañuls


"etra|@casa.com" wrote:

existe alguna manera de recorrer una tabla sin usa cursores?
es solo una pregunta teorica, porque en algun lado lei que cualquier
consulta se puede resolver sin usar cursores

gracias



Respuesta Responder a este mensaje
#2 Maxi
19/10/2007 - 02:24 | Informe spam
Hola, a que usted llama recorrer? para que necesita recorrer? usted debe
pensar en conjuntos y no registro a registro

"etra|@casa.com" escribió en el mensaje de noticias
news:
existe alguna manera de recorrer una tabla sin usa cursores?
es solo una pregunta teorica, porque en algun lado lei que cualquier
consulta se puede resolver sin usar cursores

gracias


Respuesta Responder a este mensaje
#3 Alejandro Mesa
19/10/2007 - 02:44 | Informe spam
etra|@casa.com,

No importa si es con cursores o de otra forma, pero a la final estarias
procesando la data fila por fila, que es lo que se trata de evitar al usar
T-SQL.

Si tu tabla tiene una columna o grupo de columnas que identifican unicamente
cada fila, puedes usar el sgte metodo.

use northwind
go

declare @orderid int

set @orderid = -1

while exists (
select *
from dbo.orders
where orderid > @orderid
)
begin
set @orderid = (select min(orderid) from dbo.orders where orderid >
@orderid)
print @orderid
end
go


AMB


"etra|@casa.com" wrote:

existe alguna manera de recorrer una tabla sin usa cursores?
es solo una pregunta teorica, porque en algun lado lei que cualquier
consulta se puede resolver sin usar cursores

gracias



Respuesta Responder a este mensaje
#4 etra|
19/10/2007 - 13:36 | Informe spam
Gracias alejandro
es exactamente el ejemplo que buscaba.

No tengo ningun caso practico, es solo una discusion teorica.
Alguna vez habia visto un ejemplo similar en donde se recorria una tabla sin
cursores y jugando con el min/max de un dato.

Saludos


"Alejandro Mesa" escribió en el
mensaje news:
etra|@casa.com,

No importa si es con cursores o de otra forma, pero a la final estarias
procesando la data fila por fila, que es lo que se trata de evitar al usar
T-SQL.

Si tu tabla tiene una columna o grupo de columnas que identifican


unicamente
cada fila, puedes usar el sgte metodo.

use northwind
go

declare @orderid int

set @orderid = -1

while exists (
select *
from dbo.orders
where orderid > @orderid
)
begin
set @orderid = (select min(orderid) from dbo.orders where orderid >
@orderid)
print @orderid
end
go


AMB


"etra|@casa.com" wrote:

> existe alguna manera de recorrer una tabla sin usa cursores?
> es solo una pregunta teorica, porque en algun lado lei que cualquier
> consulta se puede resolver sin usar cursores
>
> gracias
>
>
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida