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