简体   繁体   English

如何在 SQL 服务器中添加自动增量值

[英]How do I add Auto-increment value in SQL Server

I need to generate 7 digit code (Alternate ID) for my existing customers.我需要为现有客户生成7 位代码(备用 ID)。 For example.例如。 This my existing Customer Table structure这是我现有的客户表结构

ID     Name    Address    City   AlternateID
101    Test1    NO 4,..    LA     0000001  
102    Test2    NO 3,..    TA     0000002 

We have to run this script on a daily basis.我们必须每天运行这个脚本。 Last number stored in a different table.最后一个数字存储在不同的表中。 Next day start from the Last number stored in Table.第二天从存储在表中的最后一个数字开始。

(Ex. 1st day added 30 customers means "0000030" 
     2nd day added 10 customers means "0000040")

I want to know the query on how to decrease "0" when digits of the number increased我想知道当数字增加时如何减少“0”的查询

Like - Single-Digit number "0000001"
     - Double-Digit number "0000010"
     - Triple-Digit number "0000100" 

so on.很快。

You can do:你可以做:

select t.*,
       right(concat('0000000', row_number() over (order by id)), 7) as AlternateID
from table t;

You can use:您可以使用:

update t
    set alternateid = format(row_number() over (order by id) + ot.max_alternateid, '0000000')
    from t cross join
         othertable ot
    where alternateid is null;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM