cursor con parametros
Publicado por julito (15 intervenciones) el 30/12/2005 01:13:27
hola estoy haciendo procedimiento almacenado que envie parametros a otro procedimiento almacenado
en le primer procedimeinto almacenado creo un cursor y lo leo y el campo lo pongo en una variable y ejecuto el procedimiento almacenado esa varialble tiene el nombre de una tabla y lo envio al segundo procedimiemto.
y en el segundo procedimiento recibo el parametro
el segundo crea un cursor del parametro @campo pero da error
como puedo hacer que el parametro lo reconosca como una tabla en el cursor
este es mi codigo
**********************************************************************************
CREATE PROCEDURE usp_agencia
AS
DECLARE @campo VARCHAR(200)
DECLARE Trangencia CURSOR FOR
SELECT campo FROM mitabla
OPEN Trangencia
FETCH NEXT FROM Trangencia INTO @campo
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM transfer1 INTO @campo
EXECUTE usp_transfer @campo
END
CLOSE Trangencia
DEALLOCATE Trangencia
go
CREATE PROCEDURE usp_transfer
@campo VARCHAR(200)
AS
DECLARE @unico INT, @commad VARCHAR(6000)
DECLARE transfer1 CURSOR FOR
SELECT unico, command FROM @campo --da error
OPEN transfer1
FETCH NEXT FROM transfer1 INTO @unico, @commad
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM transfer1 INTO @unico, @commad
END
CLOSE transfer1
DEALLOCATE transfer1
GO
***********************************************************************
gracias.
en le primer procedimeinto almacenado creo un cursor y lo leo y el campo lo pongo en una variable y ejecuto el procedimiento almacenado esa varialble tiene el nombre de una tabla y lo envio al segundo procedimiemto.
y en el segundo procedimiento recibo el parametro
el segundo crea un cursor del parametro @campo pero da error
como puedo hacer que el parametro lo reconosca como una tabla en el cursor
este es mi codigo
**********************************************************************************
CREATE PROCEDURE usp_agencia
AS
DECLARE @campo VARCHAR(200)
DECLARE Trangencia CURSOR FOR
SELECT campo FROM mitabla
OPEN Trangencia
FETCH NEXT FROM Trangencia INTO @campo
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM transfer1 INTO @campo
EXECUTE usp_transfer @campo
END
CLOSE Trangencia
DEALLOCATE Trangencia
go
CREATE PROCEDURE usp_transfer
@campo VARCHAR(200)
AS
DECLARE @unico INT, @commad VARCHAR(6000)
DECLARE transfer1 CURSOR FOR
SELECT unico, command FROM @campo --da error
OPEN transfer1
FETCH NEXT FROM transfer1 INTO @unico, @commad
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM transfer1 INTO @unico, @commad
END
CLOSE transfer1
DEALLOCATE transfer1
GO
***********************************************************************
gracias.
Valora esta pregunta


0