我有一个数据库,其中两个表使用外键具有1:1的关系。表1称为清单,表2称为清单。使用应用程序添加库存记录时,会构建它以使用外键引用清单表中的匹配记录。此外,这会导致清单表中对名为Received(数据类型:BIT
)的匹配记录的列更新为1.这用于协调和报告目的。
现在这里变得棘手:这个数据库在客户端 - 服务器关系中使用Sync Framework同步到服务器数据库。 Manifest表从服务器到客户端在一个方向上同步,Inventory表从客户端到服务器同步。因此,在同步后,Manifest表中的“已接收”列并不总是在服务器端准确更新。
我正在考虑创建一个存储过程来执行此更新,但我的SQL(和T-SQL)上有点生疏。我想使用的SP将使用CURSOR
来查找库存表中外键为NOT NULL
的任何记录(这是允许的,因为我们收到的内容不在清单中)。然后,光标将允许我迭代所有记录以在清单表中找到匹配记录并更新“已接收”列。我知道这不是执行此更新的最佳方式。任何人都可以提出另一种方法,这样做会更快,使用更少的资源吗?例如,赞赏=)