没有提供值时生成下一个序列

时间:2017-03-10 11:12:07

标签: sql sql-server azure-sql-database

我有一个不是唯一的bigint列。我希望能够在插入时设置此列的值,但是当没有提供值时,我想在数字列中自动生成下一个序列。

这可以以同步的方式进行吗?新值必须是唯一的,当同时插入两个记录时,不可能生成相同的数字。

1 个答案:

答案 0 :(得分:1)

在数据库中定义一个Sequence对象,当没有为insert语句显式提供任何值时,从Sequence中检索下一个要插入的值。这个逻辑可以在触发器中实现。

https://msdn.microsoft.com/en-us/library/ff878058.aspx

正如其他人所建议的那样,Identity列会更好。