1.创建Sequence,从1开始递增
CREATE SEQUENCE info_id_seq INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START
WITH 1 NO CYCLE;
2.创建函数,调用Sequenect,传递一个固定值进去,默认以17400000000000000+seq
CREATE OR REPLACE FUNCTION "test"."fn_info_getsequence" (num1 numeric) RETURNS SETOF numeric
VOLATILE
AS $body$
declare
rlt_seq numeric;
begin
if num1=174 then
return query select num1*10000000000000+00000000000000+nextval('info_id_seq');
else
raise exception 'param "num1" is incorrect,please input 174';
end if;
return;
end;
$body$ LANGUAGE plpgsql
3.查看
select nextval('info_id_seq')
select fn_info_getsequence(174)

本文介绍如何在数据库中创建一个从1开始递增的Sequence,并创建一个函数调用此Sequence,通过传递一个固定值来获取序列号,具体实现包括创建Sequence的SQL语句及函数的PL/pgSQL代码。
7576

被折叠的 条评论
为什么被折叠?



