sys.sequences (Transact-SQL)

数据库中的每个序列对象各占一行。

适用范围:SQL Server(SQL Server 2012 到当前版本)。

列名称

数据类型

说明

<继承列>

sys.objects 继承所有列。

start_value

sql_variant NOT NULL

序列对象的起始值。 如果使用 ALTER SEQUENCE 重新启动序列对象,它将以此值重新启动。 当序列对象周期进行循环时,它将继续进行到 minimum_valuemaximum_value,而不是 start_value

increment

sql_variant NOT NULL

用于在每个生成值后使序列对象递增的值。

minimum_value

sql_variant NULL

序列对象可以生成的最小值。 在达到此值后,序列对象将在尝试生成多个值时返回错误,或在指定 CYCLE 选项时重新启动。 如果未指定任何 MINVALUE,此列将返回序列生成器的数据类型所支持的最小值。

maximum_value

sql_variant NULL

序列对象可以生成的最大值。 在达到此值后,序列对象将在尝试生成多个值时开始返回错误,或在指定 CYCLE 选项时重新启动。 如果未指定任何 MAXVALUE,此列将返回序列对象的数据类型所支持的最大值。

is_cycling

bit NOT NULL

如果为序列对象指定 NO CYCLE,则返回 0;如果指定 CYCLE,则返回 1。

is_cached

bit NOT NULL

如果为序列对象指定 NO CACHE,则返回 0;如果指定 CACHE,则返回 1。

cache_size

int NULL

返回序列对象的指定缓存大小。 如果创建序列时使用了 NO CACHE 选项或者指定了 CACHE 但未指定缓存大小,此列将包含 NULL。 如果缓存大小指定的值大于序列对象可以返回的值的最大数量,仍会显示该无法获得的缓存大小。

system_type_id

tinyint NOT NULL

用作序列对象的数据类型的系统类型的 ID。

user_type_id

int NOT NULL

用作用户定义的序列对象的数据类型的 ID。

precision

tinyint NOT NULL

数据类型的最大精度。

scale

tinyint NOT NULL

数据类型的最大小数位数。 小数位数与精度一起返回,以便为用户提供完整的元数据。 由于序列对象只允许使用整数类型,因此其小数位数始终为 0。

current_value

sql_variant NOT NULL

强制的最后一个值。 也就是最近执行 NEXT VALUE FOR 函数返回的值或执行 sp_sequence_get_range 过程最后返回的值。 如果从未使用过该序列,则返回 START WITH 值。

is_exhausted

bit NOT NULL

0 表示可从序列中生成多个值。 1 表示序列对象已达到 MAXVALUE 参数,该序列未设置为 CYCLE。 使用 ALTER SEQUENCE 重新启动序列之前,NEXT VALUE FOR 函数将返回错误。

权限

在 SQL Server 2005 及更高版本中,目录视图中仅显示用户拥有的安全对象的元数据,或用户对其拥有某些权限的安全对象的元数据。 有关详细信息,请参阅元数据可见性配置

请参阅

参考

CREATE SEQUENCE (Transact-SQL)

ALTER SEQUENCE (Transact-SQL)

DROP SEQUENCE (Transact-SQL)

NEXT VALUE FOR (Transact-SQL)

sp_sequence_get_range (Transact-SQL)

概念

序列号