这目前正在按预期工作,除非我希望它不使用序列中的下一个值填充 acctnum(如果它为空)。我的问题是在我的 FROM FINAL TABLE 中尝试下一个 if 语句时。它根本不喜欢它。这是一个语法问题,我用谷歌搜索无济于事。
CREATE SEQUENCE acct_seq
START WITH 1
INCREMENT BY 1
NO MAXVALUE
NO CYCLE
CACHE 24
;
SELECT accntnum AS new_acct, old_acct
FROM FINAL TABLE (
UPDATE accounts INCLUDE(old_acct INT)
SET accntnum = NEXT VALUE FOR acct_seq, old_acct = accntnum
)
ORDER BY old_acct;
我这样做的原因是我可以返回新旧帐号。即使它们为空,我仍然想返回新旧帐户号。