序列语法使用更大的值

时间:2018-03-09 07:27:43

标签: sql db2 sequence

CREATE SEQUENCE SAS.SEQUENCE  
START WITH 7000000000  
INCREMENT BY 1  
MINVALUE 7000000000  
NO MAXVALUE  
NO CYCLE  
NOCACHE;  

我收到了这个错误 SQL0846N标识列或序列对象的规范无效" SEQUENCE" " SAS.SEQUENCE&#34 ;.原因代码=" 2"。 SQLSTATE = 42815

2 个答案:

答案 0 :(得分:0)

$ db2"? SQL0846N"

SQL0846N标识列或序列对象的规范无效       "" "&#34 ;.原因代码=""。

说明:

对于标识列或序列对象,指定 CREATE或ALTER语句中的属性对于其中一个属性可能无效 原因如下:

  1. START WITH,INCREMENT BY,MINVALUE或MAXVALUE的值为 在标识列的数据类型范围之外或 序列对象。
  2. 用户回复:

    更正语法并重新提交语句。

    你的开始'价值看起来很大。

答案 1 :(得分:0)

7000000000对于常规整数来说太大了。指定bigint数据类型!

CREATE SEQUENCE SAS.SEQUENCE
AS BIGINT  
START WITH 7000000000  
INCREMENT BY 1  
MINVALUE 7000000000  
NO MAXVALUE  
NO CYCLE  
NOCACHE;