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?

¿Fue útil?

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
scroll top