sql-server – Oracle序列,然后在MS SQL Server中

前端之家收集整理的这篇文章主要介绍了sql-server – Oracle序列,然后在MS SQL Server中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Oracle中有一种生成序列号的机制,例如 @H_403_2@CREATE SEQUENCE supplier_seq MINVALUE 1 MAXVALUE 999999999999999999999999999 START WITH 1 INCREMENT BY 1 CACHE 20;

后执行语句

@H_403_2@supplier_seq.nextval

检索下一个序列号.

您将如何在MS sql Server中创建相同的功能

编辑:我不是在寻找方法自动生成表记录的密钥.我需要生成一个唯一的值,我可以将其用作进程的(逻辑)ID.所以我需要Oracle提供的确切功能.

解决方法

没有完全匹配.

等价于IDENTITY,您可以在创建表时设置为数据类型. sqlSERVER将在插入期间自动创建一个运行的序列号.
最后插入的值可以通过调用SCOPE_IDENTITY()或通过查询系统变量@@ IDENTITY(如Frans所指出)获得的.

如果您需要完全相同的值,则需要创建一个表,然后编写一个过程来重新调用下一个值和其他操作.看到马克对这个陷阱的回应.

编辑:
sql Server已经实现了类似于Oracle的Sequence.请参考这个问题了解更多细节.

How would you implement sequences in Microsoft SQL Server?

猜你在找的MsSQL相关文章