如何在PostgreSQL中创建自定义序列?

7vhp5slm  于 2022-11-04  发布在  PostgreSQL
关注(0)|答案(1)|浏览(201)

我想知道如何在SQL Server中对下表中的“code”列进行等效操作,并在PostgreSQL中实现它。

CREATE TABLE test(
    id INT IDENTITY(1,1) NOT NULL,
    code AS ('P' + RIGHT('0000' + CONVERT(VARCHAR, id), (4)))
);
6jjcrrmo

6jjcrrmo1#

Postgres使用符合SQL标准的标识列。因此identity(1,1)不起作用。
生成的列也可以用类似的方法来完成。

CREATE TABLE test
(
  id INT generated always as identity not null,
  code text generated always AS ('P'||lpad(id::text, 4, '0')) stored
);

相关问题