📜  MS SQL Server中的删除操作

📅  最后修改于: 2021-08-24 05:03:16             🧑  作者: Mango

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

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

句法 :

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

考虑大学数据库中的两个表–学生(父母表)和分数(子表)。如果用户要删除一列,则必须如下所示:


表–学生

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

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

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