【发布时间】:2023-03-16 15:53:01
【问题描述】:
我正在使用 DB2,并且想用序列中的下一个值更新满足我条件的几行。 这是我尝试过的,但这不起作用,因为为每一行获取下一个值:-
update dependency dep set vid=NEXT VALUE FOR seq_VID where id in ('8371','8372','8373')
id 是主键,seq_VID 是一个序列。所以我希望说下一个序列值是 99,所有 3 行都设置为 99(而不是像这种情况那样设置为 99,100,101)。 我的解决方法是将其分解为列表中每个 id 的单独语句,即
update dependency dep set vid=NEXT VALUE FOR seq_VID where id= ('8371')
update dependency dep set vid=PREVIOUS VALUE FOR seq_VID where id= ('8372')
update dependency dep set vid=PREVIOUS VALUE FOR seq_VID where id= ('8373')
但如果可能的话,我想在一条 SQL 语句中执行它 - 有什么想法吗?
【问题讨论】:
标签: sql db2 sql-update sequence