postgresql - 我如何使用变量创建或更新 postgresql 序列

标签 postgresql sequence

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

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

比如创建序列 test minvalue 5 maxvalue 10 start 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;

它会出错

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

谁知道路?请帮忙。

我只想创建序列范围

最佳答案

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

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

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

关于postgresql - 我如何使用变量创建或更新 postgresql 序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19489277/

相关文章:

PostgreSQL 数字类型和带有 Play 的 anorm 解析器!斯卡拉 2.3

python - Unicode解码错误: 'ascii' codec can't decode byte 0x92 in position 47: ordinal not in range(128)

PostgreSQL - 具有局部变量的函数 - 列引用不明确

sql - 为什么 Postgres Group By NULL 选择不计数?

ruby-on-rails - gitlab查看项目更新后报错500

kotlin - Kotlin将顺序IO调用包装为Sequence

java - 与StampedLock 的竞争条件?

sql - 获得 max_value 的 postgresql 序列

mysql - 如何在mysql中的范围内生成一个唯一的数字

sql - 可以在 Oracle 的 SELECT 中执行自动编号序列吗?