如何在postgresql中自动增加Alpha-Numeric值?

前端之家收集整理的这篇文章主要介绍了如何在postgresql中自动增加Alpha-Numeric值?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用“Postgresql 9.3.5”

我有一个表(StackOverflowTable)与列(SoId,SoName,SoDob).

我想要一个用于列SoId的序列生成器,它是一个字母数字值.

我想在postgresql自动增加一个字母数字值.

For eg : SO10001,SO10002,SO10003.....SO99999.

编辑:

如果明天我需要生成一个序列,可以作为SO1000E100,SO1000E101,……并且具有良好的性能.那么什么是最好的解决方案!

使用id的序列和默认值:
postgres=# CREATE SEQUENCE xxx;
CREATE SEQUENCE
postgres=# SELECT setval('xxx',10000);
 setval 
--------
  10000
(1 row)

postgres=# CREATE TABLE foo(id text PRIMARY KEY 
                                    CHECK (id ~ '^SO[0-9]+$' ) 
                                    DEFAULT 'SO'  || nextval('xxx'),b integer);
CREATE TABLE
postgres=# insert into foo(b) values(10);
INSERT 0 1
postgres=# insert into foo(b) values(20); 
INSERT 0 1
postgres=# SELECT * FROM foo;
   id    | b  
---------+----
 SO10001 | 10
 SO10002 | 20
(2 rows)
原文链接:https://www.f2er.com/postgresql/192831.html

猜你在找的Postgre SQL相关文章