postgresql创建序列

本文介绍了数据库序列的创建、查看、删除及使用方法,包括如何设置序列的步长、最小值、最大值等参数,并展示了如何在插入数据时利用序列生成唯一标识。同时,还提供了查询孤儿序列的SQL语句,提醒在大型数据库中注意资源管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,创建一个序列

create sequence qh_test_quence 
increment  by 1  --步长
minvalue 1     --最小值
maxvalue 99999 --最大值
start 1  --起始值
cache 1  --每次生成几个值
cycle;  --到达最大值或最小值循环(不加默认不循环)

2.查看当前序列的值

select * from qh_test_quence;

3.删除序列

drop sequence qh_test_quence;

4.使用序列
例如将产品信息表字段的一部分使用序列

insert into product_info values('测试产品','产品'||nextval('qh_test_quence')||'','20220710') returning *;

最后的 returning * 用于显示刚插入的数据,也可以去掉。
5.查询孤儿序列(没有字段绑定的,也没有被使用,在系统中占用资源,如果序列被绑定到一个serial类型的字段,删除该表时,序列会被自动删除,如果时int类型,则不会被删除,所以在大型数据库系统中应注意过多孤儿序列的产生)

SELECT ns.nspname AS schema_name, seq.relname AS seq_name
FROM pg_class AS seq
JOIN pg_namespace ns ON (seq.relnamespace=ns.oid)
WHERE seq.relkind = 'S'
  AND NOT EXISTS (SELECT * FROM pg_depend WHERE objid=seq.oid AND deptype='a')
ORDER BY seq.relname;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值