Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/12/2009, 06:32
vanels
 
Fecha de Ingreso: septiembre-2003
Mensajes: 65
Antigüedad: 20 años, 8 meses
Puntos: 0
Proc.Almacenado con recursividad, cursores...

Buenas chicos,

Llevo un largo tiempo ya con este tema y no se me ocurre como hacerlo o ver que hago mal.
Tengo una tabla digamos de estructura donde tengo 2 campos (llamemosles padre e hijo) y de la cual quiero saber la estructura de un plano que yo le diga.
Este plano lo extraigo de una Select en la cual utilizo 3 tablas diferentes, entre las que se encuentra la tabla de estructuras.

Os dejo el codigo del procedimiento...

ALTER PROCEDURE dbo.Cods_Realizados2
(
@idProv int,
@cod varchar(15)
)
AS
BEGIN

SET NOCOUNT ON;

DECLARE cursor1 CURSOR GLOBAL FOR (SELECT distinct c.es020
FROM faprcpe a, faprlpe b, fproest c
WHERE c.es999=1
and a.cp010=b.lp010 and c.padre=@cod
and a.cp020=@idProv)

OPEN cursor1
fetch next from cursor1
into @cod

WHILE @@fetch_status=0
begin

EXEC dbo.Cods_Realizados2 @idProv,@cod
fetch next from cursor1 into @cod
end

CLOSE cursor1
DEALLOCATE cursor1

END
GO


Este procedimiento lo ejecuto desde otro porque necesito ver los resultados y desde este mismo no se como se haria.
El caso es que la llamada simplemente es
exec dbo.Cods_Realizados2 170,64101055

El error que me aparece es que el cursor con nombre cursor2 ya existe y que ya esta abierto.

La pregunta seria, ¿como puedo extraer la estructura de un codigo en la que puede haber más padres dentro de la propia estructura?

A ver si alguien me puede hechar una manita... mil gracias chicos.