pg数据库增加自增序列和对已有数据插入自增值

pg数据库增加自增序列和对已有数据插入自增值

pg数据库增加自增序列

pg数据库增加自增序列步骤:

#增加自增序列
CREATE SEQUENCE sjy_water_quality_id_seq
    INCREMENT 1
    START 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 2;```
#增加键id
alter table sjy_water_quality add column id int;
#修改键id为自增序列
alter table sjy_water_quality alter column id set default nextval('sjy_water_quality_id_seq');

或者创建数据库表时设置id为自增序列。

create table sjy_water_quality(
id serial)

对已有数据插入自增值

利用pg函数,实现已有数据插入自增值。
pg函数如下

CREATE OR REPLACE FUNCTION increment() RETURNS integer AS $$
DECLARE
r RECORD; 
num int4 := 0;  
sql "varchar";  
        BEGIN
                    sql := 'select id,stationname,datetime from sjy_water_quality';
                    FOR r IN EXECUTE sql LOOP  
                        num := num + 1; 
                        update sjy_water_quality set id = num where stationname = r.stationname and datetime = r.datetime;
                    END LOOP; 
                    RETURN num;
        END;

$$ LANGUAGE plpgsql;

pg函数调用

select * from increment();

pg函数实现参考 postgreSQL存储过程写法示例

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容