【发布时间】:2013-07-23 15:50:44
【问题描述】:
我在 postgresql 执行期间收到以下错误: 错误 [HY000] 错误:您只能在目标列表中使用“下一个值”函数
这个sql语句有什么问题:
SELECT TRFCON.ID
,
case when DDDCON.ID_CON = 0
then
NEXT VALUE FOR SEQ_DDD_CON
else
DWHCON.ID_CON
end ID_CON
FROM TTT_CONSUMPTION TTTCON
join DDDDWH_CON DWHCON on TTTCON.ID_ORG = DDDCON.ID_ORG
and TTTCON.ID_PRO = DDDCON.ID_PRO
and TTTCON.ID_REF = DDDCON.ID_REF
序列的DDL如下:
CREATE SEQUENCE SEQ_DDD_CON AS BIGINT
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
NO CYCLE;
【问题讨论】:
-
您的语法和错误消息不是问题标签中建议的 MySQL 的 Postgresql
-
@ClodoaldoNeto 我认为他正试图将其从 MySQL 移植到 PG,因为 MySQL 没有序列。
-
我使用的是 Netezza SQL,而 Netezza SQL 是基于 PostgreSQL 的
标签: mysql sql function next netezza