gpt4 book ai didi

PostgreSQL 增量变量

转载 作者:行者123 更新时间:2023-11-29 13:43:56 29 4
gpt4 key购买 nike

有没有一种方法可以增加在 PostgreSQL 中声明为 varchar 的列。如果我的值是 0001,0002,0003... 在我的专栏中如何继续添加 +1?我试过 nextval 但它不起作用。

CREATE TABLE tab1 (
matri VARCHAR(10) NOT NULL,
role VARCHAR(4) NOT NULL,
libelle VARCHAR(40),
util VARCHAR(10),
)

CREATE TABLE tab2 (
idemploye SERIAL,
nomred VARCHAR(10),
matri VARCHAR(10),
)

Insert into tab1 ("matri", "role", "libelle", "util")
select tab2.matri,tab1.role,'MANAGER',E'MANAGER' from tab1,tab2
where tab2.matri IN (Select matri from tab2);

我希望我的第二列“角色”随着每次插入而递增。

最佳答案

虽然更好的解决方案是使用整数列并在显示时添加填充,但这是有效的:

CREATE SEQUENCE role_seq;
CREATE TABLE roles (role varchar(4) NOT NULL DEFAULT lpad(nextval('role_seq')::varchar, 4, '0'));
INSERT INTO roles VALUES (DEFAULT), (DEFAULT);
SELECT * FROM roles;
-- role
-- ------
-- 0001
-- 0002

请注意,如果您删除行或插入事务回滚,您将在数字中出现间隙。

关于PostgreSQL 增量变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51424670/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com