📜  MS SQL Server 中的删除操作

📅  最后修改于: 2021-09-09 10:52:08             🧑  作者: Mango

先决条件 – MS SQL Server 中的外键

只有当列是父表的一部分时,才能在子表中插入外键。外键允许我们执行其他称为引用操作的操作。在父表的情况下,引用操作允许更新或删除行。如果用户更新/删除了父表中的列,则子表中的列也会自动更新/删除。

句法 :

foreign key(foreign-key_constraint) 
references parent_table(parentkey_column) 
ON Delete Action

考虑来自大学数据库的两个表 – Student(父表)和 Marks(子表)。如果用户想要删除列,则必须按如下所示完成:


表 –学生

Name Rollnumber Course
Maya 111 CSE
Riya 112 Mech


表 –标记

Name Rollnumber Marks
Maya 111 7.8
Riya 112 7.6

对表执行删除操作的 SQL 查询是 –

foreign key references Student(Name) 
ON Delete Action

输出 –


表 –学生

Name Rollnumber Course
111 CSE
112 Mech


表 –标记

Name Rollnumber Marks
111 7.8
112 7.6

这也会从整个父表和子表中删除行。还有其他允许的操作——无操作、级联、设置为空、设置默认值。

  • 在删除无操作时 –
    它引发错误并回滚父表上的删除操作。
  • 在删除级联 –
    级联操作从父表和子表中删除所有行。
  • 在删除集空 –
    仅当外键可以为空时,父表和子表中的行才设置为空。
  • 在删除设置默认值 –
    仅当外键具有默认定义时,如果删除相应的父表行,子表行才会设置为默认值。