sql-server – SQL Server是否保证顺序插入一个标识列?
发布时间:2020-12-12 08:48:00 所属栏目:MsSql教程 来源:网络整理
导读:换句话说,以下“光标”方法是否有效: 从DB检索行 从返回的记录中保存最大的ID以供以后使用.在LastMax 以后,“SELECT * FROM MyTable WHERE Id {0}”,LastMax 为了使它工作,我必须确保我在第1步中没有得到的每一行的Id都大于LastMax.这是有保证的,还是可以跑
换句话说,以下“光标”方法是否有效:
>从DB检索行 为了使它工作,我必须确保我在第1步中没有得到的每一行的Id都大于LastMax.这是有保证的,还是可以跑到奇怪的竞争条件? 解决方法保证绝对在任何情况下都不会得到可能小于或等于当前最大值的值?不,没有这样的保证.也就是说,这种情况可能发生的情况有限:>某人禁用身份插入并插入一个值. 假设没有一个这样的情况,你可以从竞争条件中得到安全保护,创造下一个值低于现有值的情况.也就是说,不能保证这些行将按照其身份值的顺序进行.例如: >打开一个事务,插入你的表中一个标识列.让我们说它的价值42. 直到第一笔交易发生,43存在,但42不存在.身份列只是保留一个值,它不是规定提交的顺序. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |