Declare cursor con SP

21/07/2006 - 23:40 por Juan Carlos Flores | Informe spam
Necesito crear un cursor para recorrerlo, pero deso usar un SP que ya
tengo para crearlo, como lo hago ?


Declare miCursor Cursro for SELECT


Quiero reemplazar el SELECT por un SP que recibe parametros.


SALUDOS



JCF

Preguntas similare

Leer las respuestas

#6 Carlos Sacristán
24/07/2006 - 14:36 | Informe spam
Suponiendo que el primer procedimiento almacenado devuelve dos columnas
(A y B), un ejemplo para manejar estos resultados sería:

***************************************************************

que lo que devuelve el primer procedimiento
CREATE TABLE #t ...

INSERT #t
EXECUTE el_primer_procedimiento @param1=

tabla temporal creada

***************************************************************

Espero haberme explicado

Un saludo

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

"Juan Carlos Flores" escribió en el
mensaje news:#
Mostrar la cita
el
Mostrar la cita
ese
Mostrar la cita
segundo,
Mostrar la cita
#7 Alejandro Mesa
24/07/2006 - 14:59 | Informe spam
Juan,

A que te refieres con lo siguiente?

Mostrar la cita
Te refieres a que ese procedimiento almacenado devuelve un cursor en un
parametro de salida?

De ser asi entonces solo debes pasar la variable tipo cursor que sera
utilizada por el parametro de salida.

Ejemplo:

use northwind
go

create procedure dbo.p1
@country nvarchar(15) = N'Spain',
@orders cursor varying output
as
set nocount on

set @orders = cursor local fast_forward for
select
oh.orderid, oh.orderdate, oh.customerid
from
dbo.orders as oh
inner join
dbo.Customers as c
on oh.customerid = c.customerid
where
c.country = @country

open @orders

return @@error
go

declare @c cursor
declare @orderid int
declare @orderdate datetime
declare @customerid nchar(5)

exec dbo.p1 @orders = @c output

if cursor_status('variable', '@c') = 1
begin

while 1 = 1
begin
fetch next from @c into @orderid, @orderdate, @customerid

if @@error != 0 or @@fetch_status != 0 break

select @orderid, @orderdate, @customerid
end

close @c
deallocate @c
end
go

drop procedure dbo.p1
go


AMB


"Juan Carlos Flores" wrote:

Mostrar la cita
#8 Juan Carlos Flores
24/07/2006 - 15:18 | Informe spam
Me podrías ampliar mas el como hacerlo ? Porque no debo modificar el
primer SP, se puede sin hacer eso ?

Saludos


jCF

Carlos Sacristán escribió:
Mostrar la cita
#9 Juan Carlos Flores
24/07/2006 - 15:43 | Informe spam
Carlos, voy a probarlo ahorita mismo, muchas gracias.


Saludos



JCF

Carlos Sacristán escribió:
Mostrar la cita
#10 Juan Carlos Flores
24/07/2006 - 17:36 | Informe spam
Nop... me refiero a que el SP devuelve un resultado de una sentencia
select, que mal he llamado yo cursor,.


Saludos.



JCF

Alejandro Mesa escribió:
Mostrar la cita
Ads by Google
Search Busqueda sugerida