以下是使用的序列创建语法:
CREATE SEQUENCE BD_ID_SEQ AS INTEGER
START WITH 999
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
NO CYCLE;
Run Code Online (Sandbox Code Playgroud)
我有一个包含以下值记录的表:
b_id ------- 2547 NULL 2800 NULL NULL NULL NULL
我执行以下操作:
select case
when b_id is NULL then cast((select next value for bd_id_seq) as character varying(10))
else b_id
end b_id
from table1;
Run Code Online (Sandbox Code Playgroud)
结果是:
b_id ------- 2547 1000 2800 1000 1000 1000 1000
我在期待:
2547 1000 2800 1001 1002 1003 1004
任何想法为什么在case语句中序列似乎没有增加超过第一个值?谢谢,金妮