问题描述
我的桌子需要一个唯一的编号ID。通常我会在Sql Server中使用身份,但是我的用例有一个陷阱。我想在创建行之前知道id(以便在将所有内容提交到数据库之前能够在内存的其他记录中引用它。)
我不知道使用Identity能否实现,但我无法弄清楚。
因此,我的下一个最佳猜测是我需要一个表,该表将存储一个值并不断对其进行递增,并为我返回ID的新值。访问将必须被锁定,以使任何两个操作都无法获得相同的值。
我正在考虑使用sp_getapplock @Resource = 'MyUniqueId'
,以防止将相同的号码返回给呼叫者。也许我也可以在事务中使用普通锁定。
有没有更好的方法来解决这个问题?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)