Primary keys y Foreign keys en sql server 7.0

Hola Sramos. Mi problema es el siguiente: tengo una tabla en sql server 7.0 con un campo denominado Código usuario de tipo int 4 10 como clave primaria. Tengo otras 16 tablas que tienen como clave ajena esta clave Código usuario.He creado un diagrama y las he relacionado todas con esa clave. Cada tabla tiene su propia PORQUE.El problema es a la hora de borrar una fila en la tabla que contiene la PORQUE Código de usuario. En Access 97 al borrar una fila automáticamente se borraban las filas en todas las tablas relacionadas. En Sql cuando borro una fila me dice que no puede borrarla porque hay FK referenciandola, lo que quiero es justo eso, que borre todas las filas de todas las tablas relacionadas con esa PORQUE cuando la borre. No se como hacer esto en SQL. Gracias
1

1 respuesta

Respuesta
1
El problema con el que te encuentras es común en usuarios de SQL Server 7.0
Ya que éste no permite el borrado en cascada. Para solucionarlos tienes 2 opciones:
1) Pasar a SQL Server 2000, que si lo permite.
2) No tener integridad referencial, y hacer un trigger de borrado en la tabla que contiene la clave primaria código usuario que se encargué de eliminarlo en el resto de tablas donde existe como clave foránea.
Sinceramente, es un problema grave que tiene esta versión. Lo hemos hablado entre técnicos varias veces, y ninguna solución es la idónea ya que la primera implica una nueva inversión y los cambios pertinentes, y la segunda no me permite tener levantada la integridad referencial, cosa que considero muy necesaria en cualquier base de datos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas