SQL Server Delete - clave externa
-
26-09-2019 - |
Pregunta
Tengo dos tablas en SQL Server 2005:
- tabla de usuario:. La información sobre el usuario y así sucesivamente
- Tabla PAÍS:. Lista de países enteros lleva a cabo en el mundo
- USER_COUNTRY Tabla: ¿Qué partidos, que el usuario ha visitado la cual condado. Lleva a cabo, ID de usuario y CountryId.
Por ejemplo, la apariencia de mesa USER_COUNTRY como esta:
+----+--------+-----------+
| ID | UserID | CountryID |
+----+--------+-----------+
| 1 | 1 | 34 |
| 2 | 1 | 5 |
| 3 | 2 | 17 |
| 4 | 2 | 12 |
| 5 | 2 | 21 |
| 6 | 3 | 19 |
+----+--------+-----------+
Mi pregunta es que : Cuando se elimina en la tabla de usuario de un usuario, ¿cómo puedo hacer registros asociados en la tabla USER_COUNTRY borrar directamente. Tal vez, mediante el uso de clave externa constaint?
Solución
Sí, podría establecer su relación regla de eliminación de clave externa a la cascada.
Otros consejos
Hay que definir una clave externa en USER_COUNTRY
que apunta a establecer USER.UserID
y eliminación en cascada:
CREATE TABLE USER_COUNTRY (
...
CONSTRAINT USER_COUNTRY_FK1 FOREIGN KEY (UserID)
REFERENCES USER(UserID)
ON DELETE CASCADE
);
supongo CASCADE es su única opción. Pero lo que realmente quiere a los registros de borrado de disco como este? Contexto:. Soy un demonio de datos
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow