为每个新插入在数据库中创建 7 位代码

moh*_*hir 4 sql-server auto-increment sql-server-2014

我知道使用身份列,我们可以从 0 一个一个地自动增加键。我想做的是:

在 SQL Server 2014 中生成 9 位数字(操作代码)的代码。

前 2 位数字将被预定义,其余 7 位将在每次新插入记录时递增 1。例如:

51(预定义)和其余 7 是0000001 ,因此插入将发生为:

510000001
510000002
510000003
510000004
510000005
510000006
Run Code Online (Sandbox Code Playgroud)

等等。

Mar*_*rco 11

如果它总是需要以 51 开头,那么您可以使用以 510,000,001 开头的序列(或标识)。

CREATE TABLE #Test (
    ID BIGINT IDENTITY(510000001, 1),
    SomeColumn VARCHAR(10)
);

INSERT  INTO #Test (SomeColumn) 
VALUES ('Test'), ('Test2');

SELECT * FROM #Test AS t;
Run Code Online (Sandbox Code Playgroud)

请记住,一旦序列达到 519,999,999,它将不会在 510,000,001 处重新开始(特别是如果您使用 identity 属性),而是会在 520,000,000 处继续。

此外,由于您使用的是 SQL Server 2014,请考虑这样一个事实,即从 2008 版本开始的IDENTITY值会被缓存,并且在重新启动后可能会出现间隙。如果您希望值完全遵循(即没有间隙),您应该使用SEQUENCE从 510000001 开始的值或应用跟踪标志 272。
这似乎记录在此连接项目中