Problemas al Relacionar Tablas en SQL - Server.

02/05/2007 - 16:43 por Fabián Tomás de Paula | Informe spam
Tengo lo siguiente:

La tabla UniDroga, tiene la siguiente estructura

ARTICULO vchar(12), DROGA int, CANTIDAD Float, UNIDAD int

Clave Principal: Articulo, Droga

El campo Droga está asociado a la tabla Drogas cuya estructura es:

CODDROGA int, DESCRIP vchar(30)

Clave Principal: CodDroga

El campo Unidad también está asociado a la tabla que se llama Art_TipUnid
que tiene la siguiente estructura:

CODIGO int, DESCRIP vchar(30)

Clave Principal: Codigo

Además está la Tabla Articulo que se relaciona con Unidroga también.
La tabla es:

IDArticulo VChar(12), Descrip 70, ... , CampoN

Clave Principal: IDArticulo


Ahora bien quiero establecer las siguientes relaciones que descritas dicen
ésto:

Que cuando cambie el código de un artículo también cambie en UniDroga, pero
que si se intenta eliminar un artículo y está en UniDroga que no permita
dicha
eliminación;

Que cuando cambie el código de una droga también cambie en UniDroga, pero
que si se intenta eliminarla y está en UniDroga que no permita dicha
eliminación.

Que cuando cambie el código de un tipo de unidad también cambie en UniDroga,
pero
que si se intenta eliminarla y está en UniDroga que no permita dicha
eliminación.

Sea como realice el Orden de las relaciones. Siempre la última relación a
establer
me tira el siguiente error.

La tabla 'Articulo' se guardó correctamente
Tabla 'UniDroga'
- No se puede crear la relación 'FK_UniDroga_Articulo'.
Si especifica la restricción FOREIGN KEY 'FK_UniDroga_Articulo' en la tabla
'UniDroga', podrían producirse ciclos o múltiples rutas en cascada.
Especifique ON DELETE NO ACTION o UPDATE NO ACTION, o bien modifique otras
restricciones FOREIGN KEY.
No se pudo crear la restricción. Consulte los errores anteriores.

Para el momento de generado el error: Las relaciones 'FK_UniDroga_Drogas' y
'FK_UniDroga_Art_TipUnid' están establecidas y haciendo lo que yo quería.

Espero me entiendan y me den una solución. Realmente no entiendo el PORQUE
del error.

Saludos. Fabián.



Fabián.
 

Leer las respuestas

#1 Maxi
02/05/2007 - 18:22 | Informe spam
Hola, te recomiendo que este tipo de relaciones mas complejas las resuelvas
con triggers


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"Fabián Tomás de Paula" escribió en el mensaje
news:%
Tengo lo siguiente:

La tabla UniDroga, tiene la siguiente estructura

ARTICULO vchar(12), DROGA int, CANTIDAD Float, UNIDAD int

Clave Principal: Articulo, Droga

El campo Droga está asociado a la tabla Drogas cuya estructura es:

CODDROGA int, DESCRIP vchar(30)

Clave Principal: CodDroga

El campo Unidad también está asociado a la tabla que se llama Art_TipUnid
que tiene la siguiente estructura:

CODIGO int, DESCRIP vchar(30)

Clave Principal: Codigo

Además está la Tabla Articulo que se relaciona con Unidroga también.
La tabla es:

IDArticulo VChar(12), Descrip 70, ... , CampoN

Clave Principal: IDArticulo


Ahora bien quiero establecer las siguientes relaciones que descritas dicen
ésto:

Que cuando cambie el código de un artículo también cambie en UniDroga,
pero
que si se intenta eliminar un artículo y está en UniDroga que no permita
dicha
eliminación;

Que cuando cambie el código de una droga también cambie en UniDroga, pero
que si se intenta eliminarla y está en UniDroga que no permita dicha
eliminación.

Que cuando cambie el código de un tipo de unidad también cambie en
UniDroga,
pero
que si se intenta eliminarla y está en UniDroga que no permita dicha
eliminación.

Sea como realice el Orden de las relaciones. Siempre la última relación a
establer
me tira el siguiente error.

La tabla 'Articulo' se guardó correctamente
Tabla 'UniDroga'
- No se puede crear la relación 'FK_UniDroga_Articulo'.
Si especifica la restricción FOREIGN KEY 'FK_UniDroga_Articulo' en la
tabla
'UniDroga', podrían producirse ciclos o múltiples rutas en cascada.
Especifique ON DELETE NO ACTION o UPDATE NO ACTION, o bien modifique otras
restricciones FOREIGN KEY.
No se pudo crear la restricción. Consulte los errores anteriores.

Para el momento de generado el error: Las relaciones 'FK_UniDroga_Drogas'
y
'FK_UniDroga_Art_TipUnid' están establecidas y haciendo lo que yo quería.

Espero me entiendan y me den una solución. Realmente no entiendo el PORQUE
del error.

Saludos. Fabián.



Fabián.




Preguntas similares