如何为存储过程的每次运行自动递增一次序列号,以及如何在ComboBox
语句的where
条件下使用它?
我已经在每次运行中为下一个值分配了序列号,但是我无法在update
条件下使用它。
where
答案 0 :(得分:1)
nextval()
在返回结果值之前自动推进序列。您不需要任何额外的东西。只需直接在查询中使用该函数即可:
update t_contract c
set end_date = ce.correct_end_date
, status = 'Active'
, orig_end_date = ce.correct_end_date
from ops.t_mon_ConnectEasy ce
where c.contract_id = ce.contract_id
and iteration_id = nextval('ops.mon_connecteasy_seq');
请注意,并发事务也可能会推进序列,从而在序号中产生虚拟缺口。
我I不安地怀疑这可能不是实现未公开目标的最佳方法。