请教高手一道题

来源:百度知道 编辑:UC知道 时间:2024/06/06 05:02:22
假设表Employee中包含主键列EmpName,则执行更新语句:
UPDATE Employee SET EmpName = 177 Where B = 188
执行的结果可能是()。
A.更新了多行数据
B.没有更新数据
C.T-SQL语法错误,不能执行
D.错误,主键列不允许更新

答案:B

解析:
A,因为列 EmpName 为主键列,不允许重复,因此如果存在多个列 B 为 188 的行,则会更新失败,报错为主键冲突。

B, 有可能。如果表中 B 列没有任何一行值为 188 则更新失败。

C, 本语句没有语法错误,不会报“T-SQL语法错误,不能执行”。只有可能产生运行时错误,也就是“主键冲突”。

D, 主键列可以更新,只要符合数据库约束就可以。

单选吗? BD都有可能