创建序列错误:“INCREMENT BY”的值无效。

时间:2015-07-02 19:53:01

标签: sql sql-server

CREATE SEQUENCE dbo.Sequence1
AS decimal
START WITH 1 INCREMENT BY 0.3
MINVALUE 2 MAXVALUE 4
CYCLE;

错误:

  

为参数' INCREMENT BY'指定了无效值。对于给定的数据类型。

我想创建一个小数计数器。怎么了?不支持小数?

UPD:

当我创建

CREATE SEQUENCE dbo.Sequence1
AS float
....

SQL Server Management Studio返回错误:

  

序列对象&#d ;.Sequence1'必须是数据类型为int,bigint,smallint,tinyint或十进制或数字(标度为0),或者是基于上述整数数据类型之一的任何用户定义数据类型。

这就是我尝试使用decimal类型创建序列的原因。

1 个答案:

答案 0 :(得分:3)

评论有点长。 documentation非常具体,create sequence用于整数:

  

[built_in_integer_type |用户defined_integer_type]

     

序列可以定义为任何整数类型。以下类型是   允许的。

(重点是我的。)

因此,不允许带小数点的值。

decimal仅允许标度为0(表示没有小数点)。