sql - 使用关系表触发器删除值与

标签 sql sql-server triggers

如何使用关系数据库删除连接表的值。

电影数据库示例: 电影表 -> Movie_has_Genre 表 -> 类型表

如果我删除一部电影,我想删除 Movie_has_Genre 表中外键与电影表中的 id 相同的所有行。

我应该在电影表上使用触发器(在删除时...在关系表上进行删除)还是有其他内置函数来处理这个问题?

我只是隐约记得还有另一种方法可以做到这一点,但不记得它叫什么。

最佳答案

您使用级联删除语句。它的语法如下所示:

ALTER TABLE dbo.T2
   ADD CONSTRAINT FK_T1_T2_Cascade
   FOREIGN KEY (keyId) REFERENCES dbo.T1(keyId) ON DELETE CASCADE

完整语法为:here

关于sql - 使用关系表触发器删除值与,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18524783/

相关文章:

mysql - 按列分组计算的列

php - 我如何编写一个查询来获取 mysql 中的计数

sql - 如何在单个 SELECT 语句中拥有多个公用表表达式?

sql - BigQuery - 查找 N 个最近的向量

MySQL插入后触发

php - 使用 Laravel 5.4 从 SSRS 获取报告

sql-server - 为什么空格是 Sql Server 中的有效列名?

sql-server - SQL Server 2005 中 LOCK_ESCALATION = TABLE 的等效项是什么?

sql - 触发 2 个表

WPF/XAML - 选中单选按钮时设置 ValidatesOnDataErrors = false/true 的 DataTriggers