c# - T-SQL insert into 有时无法随机添加到表中
问题描述
所以我有两个表,记录(输入 ID = 主键)和任务注释(输入 ID,任务注释:无主键)。
曾经有一个存储过程会添加到记录表中,获取生成的主 ID,然后将该 ID 与任务注释文本一起添加到 TaskNotes 表中。
最近,出现了一个问题,即 sproc 似乎运行了一半,添加了记录,但没有运行任务注释条目。
此后,我拆分为一个 AddRecord 存储过程和一个 AddTaskNotes 存储过程,它们是从 C# 应用程序调用的。
这与以前的工作方式类似,但是,AddTaskNotes 仍然不会随机运行。
我认为问题在于 TaskNotes 表的锁定。
有没有人经历过这种情况,可以让我知道它是如何解决的?
当前比率约为每 400 个记录条目有 1 个失败的任务笔记。
这是 AddRecord 语句;
INSERT INTO Time.Records
( TeamID ,
UserID ,
TimeIN ,
TimeOUT
)
VALUES ( @TeamID , @UserID , @TimeIN , @TimeOUT );
return SCOPE_IDENTITY();
这是 AddTaskNotes 语句;
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
INSERT INTO Time.TaskNotes ( InputID, TaskNotes )
VALUES ( @InputID, @TaskNotes );
END
解决方案
推荐阅读
- c++ - 为什么包含 OpenCV 的 DNN 模块会在 macOS 上给出链接器错误?
- machine-learning - One Hot Encoding 和 LabelEncoder 的区别?
- google-apps-script - 如何获取显示#ERROR的单元格的后端值!使用 Google Apps 脚本?
- wso2 - WSO2 6.5.0 管理控制台登录问题
- selenium-webdriver - 是否应该在页面对象之外提供元素?
- mongodb - 我们可以根据 reduce 中计算的值跳过 MongoDB Map Reduce 中的文档吗?
- python - 如何在 Python 中打印棋盘格图案?
- c# - 未找到与请求 URI 匹配的 HTTP 资源,我需要解决方案
- android - 创建 Firebase 数据库实例时应用崩溃
- mysql - 对 SQL 中每个组中的前 n 行使用 SUM