创建一个sql序列

时间:2014-07-25 17:14:21

标签: sql postgresql

CREATE SEQUENCE HIBERNATE_SEQUENCE    
INCREMENT BY 1
START WITH 32137148  
MAXVALUE 1E28  
MINVALUE 1  
NOCYCLE  
CACHE 20  
NOORDER

任何人都可以看看这个sql并告诉我你可以找到NOCYCLE旁边的问题

我正在使用PostgreSQL

2 个答案:

答案 0 :(得分:1)

您使用的似乎是Oracle语法。

由于你正在使用PostgreSQL,你应该仔细检查这里的语法:http://www.postgresql.org/docs/9.3/static/sql-createsequence.html

例如,NOCYCLE应为NO CYCLE,并且根本不支持NOORDER

阅读您正在使用的产品的文档是值得的!

答案 1 :(得分:0)

正如@Bill所写,Oracle语法对Postgres不起作用。 Postgres的最佳搭配将是:

CREATE SEQUENCE hibernate_sequence
START 32137148  
CACHE 20

以下是:

CREATE SEQUENCE hibernate_sequence
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807  -- maximum possible
START 32137148  
CACHE 20
NO CYCLE
  • 没有NOORDER选项。
  • MAXVALUE 1E28 ..无效的数字格式,超出Postgres'bigint实施范围。

翻译的其他选项。 All in the manual.