0

我正在尝试更改数据库序列并使用复杂SELECT语句返回的值重新启动它。这是我准备复制问题的简化示例:

ALTER SEQUENCE
    abc.my_seq
RESTART WITH
    (SELECT 1234)

当我运行此查询时,我收到以下错误:

ERROR: syntax error at or near "("

为什么我会收到此错误?是否可以根据SELECT语句的返回值设置序列的值?

4

1 回答 1

1

您可以setval() 改用

select setval('abc.my_seq', (select ... 
                             from ...));

注意选择周围的括号。

于 2021-10-18T07:32:35.027 回答