Ayuda relacionando productos.

05/12/2007 - 13:23 por Masta | Informe spam
Hola a todos.

Tengo la siguiente tabla:

RELACIONES
IDProducto int
IDProducto2 int

y tengo el siguiente Procedimiento Almacenado...

ALTER PROCEDURE [dbo].[ADMIN_Relacionar]
(
@id1 as int,
@id2 as int
)
AS
BEGIN

if (not exists(select * from new_relaciones where (idproducto=@id1 and
idproducto2=@id2) or (idproducto=@id2 and idproducto2=@id1))) and
(@id1<>@id2)
begin
insert into new_relaciones(idproducto,idproducto2)
values(@id1,@id2)
end
END

...Que lo que hace es relacionar dos productos que le pasamos,
comprobando antes que no exista la relación.

Ahora bien, quiero rizar el rizo y que, además de relacionar el "@id2"
al "@id", relacione también el "@id2" con todos los "id" que ya tiene
relacionados el "@id", pero por supuesto comprobando antes que no
exista ya la relación.

Ejemplo: Tenemos unos paraguas

1 - Azul
2 - Rojo
3 - Amarillo

En la tabla de relaciones tenemos que el Paraguas Azul (1) está
relacionado con el Rojo (2) y el Amarillo (3)
1 - 2
3 - 1

Ahora tenemos un nuevo paraguas
4 - Verde

Quiero que al relacionar el Verde (4) al paraguas Azul (1), éste
herede automáticamente sus relaciones, es decir, que relacione también
el Verde (4) con el Rojo (2) y el Amarillo (3).
Por supuesto entiendo que es tan sencillo como hacer un insert con un
select, pero es necesario comprobar antes que la relación que va a
crear automáticamente no exista ya en la tabla.

¿Alguna idea?

Espero haberme explicado bien, si no, decídmelo las dudas que os haya
dejado y intento explicároslo mejor.

Un saludo a todos
 

Leer las respuestas

#1 Masta
06/12/2007 - 22:51 | Informe spam
Sigo necesitando ayuda para este asunto.

Si necesitáis que os aclare algo decídmelo por favor.

Un saludo.

Preguntas similares