![]() |
1
8
状态标志是您的朋友。
如果在自动提交关闭的情况下执行此操作,它将在整个位置锁定锁。 如果您想减少一点锁定,可以在每一步之后提交。 |
![]() |
2
4
(至少在MS SQL中)您可以使用事务和锁定提示:
如果有人更改了正在删除的记录,则可能会发生不带锁提示(updlock)的死锁。 |
![]() |
3
4
您的数据库支持OUTPUT子句吗?那么这对你来说可能是一个完美且易于理解的解决方案,不是吗? http://msdn.microsoft.com/en-us/library/ms177564.aspx
|
![]() |
4
1
如果您可以悲观地锁定行,也就是说,当您读取这些行以将它们复制到不活动的表中时,就没有人可以从您的下面更改它们。 锁定行的方法因数据库品牌而异,您在问题中没有指定。 |
![]() |
5
1
声明一个本地表变量并将这些值放入其中,将它们插入到非活动表中,然后从本地列表中的活动表中删除行。 不过,交易理念也同样有效。 |
![]() |
6
1
使用唯一的ID列
或
另外,不要忘记在事务中包装这个过程。 祝你好运。 |
![]() |
7
0
这就是我保存where子句的方式:
如果您需要比这更强大的功能,那么您需要查看锁定(在事务期间阻止更改)。 |
![]() |
8
0
为什么你有两张桌子,而不是一栏“isactive”? |
![]() |
Community wiki · SQL语法新手 1 年前 |
|
KateMak · 是否将多行中的多列与唯一id组合? 1 年前 |
![]() |
Karuna · SQL中列内的筛选器[重复] 1 年前 |
![]() |
Irvan Affandy · 为另一个选择选择声明的键 1 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |