MS SQL Server 2012 序列 Sequence 介绍

微软数据库创建 Sequence 序列号示例

发布用户:小梦

2023/09/10 15:39


在早期版本的 Microsoft SQL Server 数据库中,我们通常使用 IDENTITY 特性作为标识符,但从 MS SQL Server 2012 版本之后,我们可以使用一新的特性来取代 IDENTITY 标识符,这就是数据库中的“序列”或称“序列号”(Sequence)。

序列相比较于 IDENTITY 具有几个明显的特点:

  • 独立于表,由数据库层面统一管理
  • 缓存更具效率,也能够不启用缓存
  • 能够循环使用,自动重复值

得益于其独立于表的特点,我们就可以在同一张表中使用多个标识符列;循环使用的意思是,比如序列达到了临界点的最大值,下一次再取值时会自动重置到起始最小值;我们当然也能够手动重置并明确指定下一个取值。

序列的使用也简单,我们可以直接通过 SQL Server Management 可视化界面创建或修改序列,位置在某数据库的“可编程性”里:

假设我们创建了一个名为“Sequence1”的序列对象:

除此之外,我们还可以通过 SQL 代码进行同样的操作,比如重置序列号为 5:

ALTER SEQUENCE Sequence1 RESTART WITH 5

详情参见微软官方的文档:文档链接点此

序列创建完成后,我们可以使用 NEXT VALUE FOR 语句取得该序列的下一个值,比如:

作者要求仅登录用户查看完整内容

登录


代码写多了,脑力不够用了,请我喝杯咖啡提提神 ☕

警告!禁止网络诈骗、非法集资、非法套现等法律外的缘由转账汇款,你的赞赏转账请考虑再三后支付,此收款不作任何形式的退款。





金额:

* 支付宝支付后如果没有自动返回请手动返回此页并刷新。



* 在线内容服务不支持任何形式的退款/退费操作;支付后的订单记录可以在“用户主页 - 用户订单中心”查看。

此网站可能不完全兼容您目前的浏览器!
此页随时可能被替换下线,请不要依赖此页功能!
此页正在维护更新,可能会出现错误或卡顿。
通知 & 公告

暂时还没有消息