数据库事务和单独的查询

时间:2012-08-20 16:35:37

标签: sql-server transactions

我正在编写一个系统,用于将项目放入玩家的游戏库存中,我想知道单独的查询将如何影响SQL Server中的正在运行的事务。例如:

  1. 开始交易
  2. 查询用户的钱及其在游戏中的状态(必须离线)
  3. 在库存中添加了一些商品。
  4. 减少资金
  5. 提交
  6. 但是整个游戏服务器有很多单独的查询和子系统,它们可以在没有交易的情况下运行......就像库存,资金和玩家状态的更新一样。

    交易究竟如何运作?我的意思是它就像C ++上的关键部分一样,你需要一个对象来锁定(在这种情况下是我的程序),或者它也锁定了单独的查询? 我需要在更新时将所有内容都放在事务中吗?

    由于我是自学成才的学习者,因为有些事情会被编程错过。遗憾。

    谢谢。

1 个答案:

答案 0 :(得分:1)

我理解它的方式,数据库中的事务是一个或一组查询,这些查询将在"全部或全部"时尚,或者更确切地说,如果其中一个查询不起作用,数据库将在它们发生之前回滚到它的状态。锁定并不一定需要在每次事务处理期间使用,但在数据库更改至关重要时使用,并且应该在任何其他进程或查询应该有机会更改受锁定影响的数据之前进行。

这里的article可以更好地解释这一点: