Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
两个连接到数据库的用户能否在SQL server中同时更新表的同一行?_Sql_Sql Server - Fatal编程技术网

两个连接到数据库的用户能否在SQL server中同时更新表的同一行?

两个连接到数据库的用户能否在SQL server中同时更新表的同一行?,sql,sql-server,Sql,Sql Server,两个连接到数据库的用户能否在SQL server中同时更新表的同一行 例如,用户A和用户B同时登录到同一个DB并开始新的事务,然后同时更新每周租金 原来的每周租金是300美元/匹 用户A:更新租金集WeeklyRent=WeeklyRent*1.1,其中地址='121绿色' 用户B:更新租金集WeeklyRent=WeeklyRent*1.2,其中地址为@121绿色' 然后用户A发出一个Commit语句。 然后用户B发出一条Commit语句 最终租金是多少?这是330美元、360美元还是300美

两个连接到数据库的用户能否在SQL server中同时更新表的同一行

例如,用户A和用户B同时登录到同一个DB并开始新的事务,然后同时更新每周租金

原来的每周租金是300美元/匹

用户A:更新租金集WeeklyRent=WeeklyRent*1.1,其中地址='121绿色'

用户B:更新租金集WeeklyRent=WeeklyRent*1.2,其中地址为@121绿色'

然后用户A发出一个Commit语句。 然后用户B发出一条Commit语句

最终租金是多少?这是330美元、360美元还是300美元?
我已经研究过了,数据似乎不会因为“死锁”而改变。如果我错了,请纠正我。提前感谢~

SQL Server将锁定表/行/页,以确保您能够执行更新。然而,在大多数情况下,我们谈论的是毫秒,因此它们几乎不可能“同时”更新同一条记录。只需确保始终使用事务并限制连接时间,因为在事务结束之前记录将被锁定。

您尝试过吗?为什么不呢?如果我能同时更新,我会试试的。我只有一台电脑……谢谢拉塞尔,所以这个问题的答案是300美元?是的,我也认为“同时”是不可能的,但这是一个给定的条件,所以我必须回答这个问题。。。我回答了300美元。我希望这是正确的…不一定。正如@ta.speot.所指出的,有许多因素可能起作用。如果这是考试中的一个问题,我会请老师解释他是如何得出这个结论的,然后发回给我们评论。你的问题中有很多未知数。是的,但是这次考试是在线考试,所以没有老师可以问。。。。我张贴的问题与我考试时的问题完全相同(可能我漏掉了一些单词,但意思是一样的)。嗯。。。。所以这个问题有很多未知数。。。。但如果你是我,你会回答什么?无论如何谢谢你,Russell~问题是用户A提交,然后用户B提交,这会让你认为用户B的结果是最后更新的。但是,如果他们同时尝试更新,那么用户A将在记录上有一个锁,从而使用户B的更新无效。正如我所说,您需要更多的信息来确定这个特定场景。无论如何,如果考官在这个问题上给我打错了分,我会质问考官。