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