MS SQL Server 中的更新操作
参考操作允许用户更新或删除父表中的列。如果从父表中删除一列,它会立即从子表中删除。
句法 :
foreign key (foreign-key_constraint)
references parent_table (parentkey_column)
ON Update Action
考虑两个表——来自大学数据库的学生(父表)和标记(子表)。如果用户想要更新列,则必须按以下方式完成 -
表 -学生
Name | Rollnumber | Course |
---|---|---|
Maya | 111 | CSE |
Riya | 112 | Mech |
表 -标记
Name | Rollnumber | Marks |
---|---|---|
Maya | 111 | 8.9 |
Riya | 112 | 7.9 |
对表执行更新操作的 SQL 查询是:
foreign key references
Student(rollnumber)
ON Update Action
输出 -
表 -学生
Name | Rollnumber | Course |
---|---|---|
Maya | 110 | CSE |
Riya | 111 | Mech |
表 -标记
Name | Rollnumber | Marks |
---|---|---|
Maya | 110 | 8.9 |
Riya | 111 | 7.9 |
这也会更新整个父表和子表中的 rollnumber 列。在语法中,约束不是必须包含的术语。任何时候都可以使用它。还有其他允许的操作——无操作、级联、设置 null、设置默认值。
- 更新时无操作 –
它引发错误并回滚父表上的更新操作。 - 在更新级联时 –
级联操作更新父表和子表中的所有行。 - 更新集为空 -
仅当外键可为空时,父表和子表中的行才设置为空。 - 更新时设置默认值 -
如果仅当外键具有默认定义时才更新相应的父表行,则子表行将设置为默认值。