c# - DB Transaction:我们可以只阻止一条记录,而不是整个表吗?
问题描述
我正在尝试将数据插入到Wallets
SQL Server 数据库的表中。可以同时有很多请求,所以由于敏感信息我必须使用事务。
工作流程如下:
读取用户钱包的金额
根据之前收到的数据插入新记录
我尝试了不同的隔离级别,但在所有情况下,事务都会阻塞整个表,而不仅仅是我正在使用的记录。甚至ReadUncommitted
或RepeatableRead
挡住整张桌子。
有没有办法只阻止我正在使用的记录?
让我详细说明一下:我不使用表中的任何索引
工作流程(将 C# 转换为 SQL)如下:
1) 从天平中选择 * 2) 插入 ... INTO 天平
解决方案
推荐阅读
- pytest - 将参数传递给 pytest 夹具以进行拆卸
- php - laravel 不会覆盖 publich 命令上的文件
- css - 在 VS 代码中更改颜色 CSS/SASS?
- reactjs - 使用 useReducer 时出现意外的渲染循环(并且没有 useEffect)
- angular - SPA 页面的安全性如何?
- sql - 根据另一列的最大值从表中选择列
- google-chrome - 如何将网络面板和来源面板并排放置在一起?
- excel - 通过在工作表 vba_excel 中搜索添加和删除组合框中的项目(建议)
- c# - 图像为 base64 的 RazorPage 不渲染图像
- python - else 在 for 循环之外,如果是,为什么 else 没有执行?