Pergunta

Eu tenho duas tabelas no SQL Server 2005:

  • Tabela de usuários: informações sobre o usuário e assim por diante.
  • Tabela do país: mantém a lista de países inteiros no mundo.
  • User_country Tabela: que corresponde, qual usuário visitou qual município. Possui, UserID e CountryID.

Por exemplo, a tabela user_country se parece com o seguinte:

+----+--------+-----------+
| ID | UserID | CountryID |
+----+--------+-----------+
|  1 |      1 |        34 |
|  2 |      1 |         5 |
|  3 |      2 |        17 |
|  4 |      2 |        12 |
|  5 |      2 |        21 |
|  6 |      3 |        19 |
+----+--------+-----------+

Minha pergunta é que: Quando um usuário é excluído na tabela de usuários, como posso fazer registros associados na tabela user_country excluídos diretamente. Talvez, usando a constante chave estrangeira?

Foi útil?

Solução

Sim, você pode definir seu relacionamento de chave estrangeira excluir a regra para Cascade.

Outras dicas

Você tem que definir uma chave estrangeira em USER_COUNTRY isso aponta para USER.UserID e definir a exclusão em cascata:

CREATE TABLE USER_COUNTRY (
    ...
    CONSTRAINT USER_COUNTRY_FK1 FOREIGN KEY (UserID)
        REFERENCES USER(UserID)
        ON DELETE CASCADE
);

Eu acho que Cascade é sua única opção. Mas você realmente quer excluir discos como este? Contexto: sou um viciado em dados.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top