Postgresql 序列增量,如2018AA000001、2018AB000001、2018AC000001
在完成第一个序列后,我需要将序列从2018AA000001增加到2018AA100000,然后它应该开始下一个序列2018AB000001到2018AB100000 在postgresql中使用触发器只能工作一个序列,但我需要实现2018AA,然后是2018AB,2018AC序列 请告诉我怎么做 谢谢,Postgresql 序列增量,如2018AA000001、2018AB000001、2018AC000001,postgresql,Postgresql,在完成第一个序列后,我需要将序列从2018AA000001增加到2018AA100000,然后它应该开始下一个序列2018AB000001到2018AB100000 在postgresql中使用触发器只能工作一个序列,但我需要实现2018AA,然后是2018AB,2018AC序列 请告诉我怎么做 谢谢, Vittal您可能可以利用它实现一个功能。也许这里的一些人可以把它编辑成一个你可以使用的序列。 这将输出您在说明中指定的结果 discard temp; 我们将使用此工具生成信件列表 crea
Vittal您可能可以利用它实现一个功能。也许这里的一些人可以把它编辑成一个你可以使用的序列。 这将输出您在说明中指定的结果
discard temp;
我们将使用此工具生成信件列表
create temp table generate_letters as
select chr(i) as letter from generate_series(65,90) i;
序号
--------------
2018AA000001
2018AA000002
2018AA000003
2018AA000004
2018AA000005
2018AA000006
2018AA000007
2018AA000008
2018AA000009
跳过
2018AA099997
2018AA099998
2018AA099999
2018AA100000
2018AB000001
2018AB000002
我有一个列id为的表,需要使用上面的查询进行增量。请推荐我。 letter -------- A B C D E F G H I J K L M N O P Q R S T U V W X Y Z (26 rows)
create temp table generate_num as
select lpad(i::text,6,'0') as num from generate_series(1,100000) i;
select * from generate_num limit 10;
num
--------
000001
000002
000003
000004
000005
000006
000007
000008
000009
000010
(10 rows)
select concat_ws('','2018',gl1.letter,gl2.letter,d.num) as seq
from generate_letters gl1
cross join generate_letters gl2
cross join generate_num d limit 100003;
seq
--------------
2018AA000001
2018AA000002
2018AA000003
2018AA000004
2018AA000005
2018AA000006
2018AA000007
2018AA000008
2018AA000009
...skipping...
2018AA099997
2018AA099998
2018AA099999
2018AA100000
2018AB000001
2018AB000002