|
1
2
我的建议是使用如下事务(我的SQL有点生疏,但您应该了解这一点):
这将确保递减和删除操作的原子性。 但是,您可能需要考虑的另一种可能性是-不要在它达到零的时候删除它。因为您总是说默认值为零,所以只需在其中保留值为0的行。 当然,您的查询需要更改以适应这一点。如果您有一个列出活动令牌的令牌,它将从以下更改为:
到:
在这种情况下,递减SQL必须小心,不要将令牌计数推低到-1,因此它将变为:
这样可以在减少的时间简化SQL。如果仍然希望那些零计数的行消失,则可以使用另一个定期运行的进程将它们全部清除:
这只是需要考虑的一些替代方法——如果您真的希望它们在其计数达到零时消失,那么使用上面的事务方法。 |
|
2
0
你需要触发器。(我想这是SQL女士)。 |
|
|
3
0
嗯,答案是否显而易见:
|
|
|
Johnny T · 基于当前值的SQL合并表[重复] 1 年前 |
|
John D · 需要为NULL或NOT NULL的WHERE子句 1 年前 |
|
ojek · 如何对SQL结果进行分组和编号? 1 年前 |
|
|
senek · 如何在PL/SQL中将选择结果(列)放入数组中 1 年前 |
|
|
Sax · 规范化Google表格(第一步) 1 年前 |
|
|
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 1 年前 |
|
|
Andrus · 如何在sql中查找第二个匹配项 1 年前 |