sql数据库数据管理

来源:百度知道 编辑:UC知道 时间:2024/07/13 16:16:59
数据库SQL数据管理
悬赏分:10 - 离问题结束还有 20 小时
假设A中包含主键B,而执行更新语名:
update a set b=177 where b=188 执行的结果可能是()
A,更新了多行数据
B,没有数据更新
C,T-SQL语法错误,不能执行
D,错误,主键列不允许更新

以上选出答应请告诉我为什么选那个...请详细说明,十分感谢

假设A表中有主键AP列,B表中有外键BF列,BF引用AP列来实施引用完整性约束
此update a set AP='abc' where AP='EDD'来更新A表AP列,可能运行结束是
A,肯定会产生更新失败
B,可能会更新A表中的两行数据
C,可能会更新B表中的一行数据
D,可能会更新A表中的一行数据

请详细讲解一下,谢谢了

A,更新了多行数据 b 是主键所以b=188的最多只有一条 (错误)
B,没有数据更新 如果记录中没有b=188的话则 没有数据更新 (正确)
C,T-SQL语法错误,不能执行 语法没有错误 (错误)
D,错误,主键列不允许更新 主键是可以更改的 (错误)
注 如果a 中已经有b=177 与b=188 的话会更新失败

A,肯定会产生更新失败 如果B表中 没有BF='EDD'时就可以更新成功所以不一定(错误)
B,可能会更新A表中的两行数据 同上一题的A(错误)
C,可能会更新B表中的一行数据 除非有触发器要不然是不可能,而这里没有(错误)
D,可能会更新A表中的一行数据 只要B表中 没有BF='EDD' 且A表中 有AP='EDD' 和 没有AP='abc' 就可以(正确)