SQL Server Excluir - Chave estrangeira
-
26-09-2019 - |
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?
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