4

我正在尝试使用变量创建或更新 postgresql 序列

如果我在创建或更新序列时输入了准确的值,它会起作用

比如创建序列测试最小值 5 最大值 10 开始 5;

但是如果我创建一些函数来设置序列的最小值和最大值,比如

CREATE OR REPLACE FUNCTION test(bigint, bigint)
RETURNS void AS
$BODY$
BEGIN
    create sequence test minvalue $1 maxvalue $2 start $1;
END;
$BODY$
    LANGUAGE plpgsql VOLATILE
    COST 100;

它会出错

我正在寻找在创建序列时放置变量的方法

谁知道路?请帮忙。

我只想创建序列范围

4

1 回答 1

5

对于那种 if 语句,您可能需要使用动态 SQL。

http://www.postgresql.org/docs/current/static/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN

不要忘记根据需要quote_ident() 和quote_literal()。

于 2013-10-21T08:27:18.180 回答