0

我有以下查询几乎可以按照我的意愿工作。

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;

我正在使用它来清理数据库中的表,将所有帐号更改为序列中的数字,然后返回旧值和新值。我需要它将所有具有相同值的 old_acct 更改为序列中的相同数字,然后只返回 old_acct/new_acct 一次。目前,它正在将每次出现的相同 acctnum 更改为序列中的不同数字。谢谢!

4

0 回答 0