gpt4 book ai didi

sql - 如何检查序列是否大于某个数字,以及是否在Postgres中进行更改

转载 作者:行者123 更新时间:2023-12-03 08:05:47 27 4
gpt4 key购买 nike

我有一个问题,即我的SQL序列必须大于某个数字才能修复唯一的约束错误。现在,我开始编写一个if语句,该语句检查某个数字,如果它低于该数字,则应将其增加到某个数字。该声明适用于Postgres。
我让单独的部分运行,但是if的连接抛出错误,我不知道为什么。
首先选择当前号码:

SELECT nextval('mySequence')
然后更新号码:
SELECT setval('mySequence', targetNumber, true)
完整的语句在我的尝试中看起来像这样:
IF (SELECT nextval('mySequence') < targetNumber)
THEN (SELECT setval('mySequence', targetNumber, true))
END IF;
错误是
ERROR:  syntax error at »IF«
有人可以向我解释我在哪里做错了,因为错误消息没有给我太多帮助吗?多谢您的协助。

最佳答案

尝试以下操作:

   SELECT setval('mySequence', targetNumber, true) 
WHERE (SELECT nextval('mySequence') < targetNumber) is true;

关于sql - 如何检查序列是否大于某个数字,以及是否在Postgres中进行更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65736364/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com