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

2019-01-23  本文已影响0人  reco171

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存储过程写法示例

上一篇 下一篇

猜你喜欢

热点阅读