Store Procedures recursivos???

14/03/2006 - 23:30 por Nohel Hernandez | Informe spam
Buenas tardes a todos

Primero quiero agradecerles por leer mi post y por cualquier ayuda que me
puedan brindar.

Mi duda es la siguiente:

Tengo las siguientes tablas
Articulos-> Contiene la descripcion de los articulos a la venta
Encabezado_Compuestos -> Es un encabezado para la definicion de articulos
que estan conformados por otros articulos (es decir un articulo compuesto)
Detalle_Compuestos -> Tabla que incluye los componentes del Articulo
Compuesto

Ahora bien
Tengo Articulos que son simples, se venden directamente al cliente
Tengo Articulos que son compuestos (Aparecen en la tabla Articulos y en el
Encabezado del compuesto)
Pero dentro del detalle del compuesto puedo tener articulos que a su vez son
otros compuestos

Podria ser asi
Articulo-> COMPUTADOR
Compuestos
1-Montiror
2-Teclado
3-Mouse
4-CPU-PIV-512

Pero CPU-PIV-512 es otro compuesto

CPU-PIV-512
Compuesto por:
1-Procesador PIV
2-Memoria 512
3-DD 80GB

Lo que quiciera es obtener un recordset que contenga

COMPUTADOR
Montitor
Teclado
Mouse
Procesador PIV
Memoria 512
DD80 GB

el primer paso lo tengo resuelto, puedo conseguir facilmente en una consulta
SQL el articulo y todos sus componentes, mi problema viene cuando uno de sus
componentes es a su vez un compuesto

Existe la forma de crear un store_procedure recursivo?? para poder ir
buscando los componentes de los componentes hasta conseguir que no tiene
componentes?? me explique o lo que logre fue un trabalenguas jejeje?? :-)

Bueno si alguien a logrado hacerlo mucho le agradeceria su colaboracion


Gracias

Nohel Hernandez
Caracas-Venezuela
 

Leer las respuestas

#1 Noldis Chumacero
15/03/2006 - 00:11 | Informe spam
Nohel,

Claro que puedes hacer procedimientos recursivos, sólo tienes que tener
encuenta dos cosas
a) El corte de recursión, para que no sea infinito (pero no lo será sino que
sólo te aguanta hasta 32 niveles de recursión)

b) Para saber el nivel de recursión puedes utilzar @@nestlevel


Ing. Noldis Chumacero Chávez
Departamento de Sistemas
AeroSur S.A.
Santa Cruz de la Sierra, Bolivia
Telf. 3364446(236) 77074919
"Nohel Hernandez" escribió en el mensaje
news:
Buenas tardes a todos

Primero quiero agradecerles por leer mi post y por cualquier ayuda que me
puedan brindar.

Mi duda es la siguiente:

Tengo las siguientes tablas
Articulos-> Contiene la descripcion de los articulos a la venta
Encabezado_Compuestos -> Es un encabezado para la definicion de articulos
que estan conformados por otros articulos (es decir un articulo compuesto)
Detalle_Compuestos -> Tabla que incluye los componentes del Articulo
Compuesto

Ahora bien
Tengo Articulos que son simples, se venden directamente al cliente
Tengo Articulos que son compuestos (Aparecen en la tabla Articulos y en el
Encabezado del compuesto)
Pero dentro del detalle del compuesto puedo tener articulos que a su vez
son otros compuestos

Podria ser asi
Articulo-> COMPUTADOR
Compuestos
1-Montiror
2-Teclado
3-Mouse
4-CPU-PIV-512

Pero CPU-PIV-512 es otro compuesto

CPU-PIV-512
Compuesto por:
1-Procesador PIV
2-Memoria 512
3-DD 80GB

Lo que quiciera es obtener un recordset que contenga

COMPUTADOR
Montitor
Teclado
Mouse
Procesador PIV
Memoria 512
DD80 GB

el primer paso lo tengo resuelto, puedo conseguir facilmente en una
consulta SQL el articulo y todos sus componentes, mi problema viene cuando
uno de sus componentes es a su vez un compuesto

Existe la forma de crear un store_procedure recursivo?? para poder ir
buscando los componentes de los componentes hasta conseguir que no tiene
componentes?? me explique o lo que logre fue un trabalenguas jejeje?? :-)

Bueno si alguien a logrado hacerlo mucho le agradeceria su colaboracion


Gracias

Nohel Hernandez
Caracas-Venezuela


Preguntas similares