本文介绍了如何在不使用主键的情况下将SQL数字自动生成的列创建到SQL Server表中。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 我想创建一个自动生成的数字年份,如MHSIC / 2016 / E / 000001 但是在结束这一年后它应该创建为MHSICNG / 2017 / E / 000001 我尝试了什么: 创建 表客户( dbID int 身份 不 null primary key , CustomerName varchar ( 100 )) create function CustomerNumber( @ id int , @ year int ) 返回 char ( 5 ) as 开始 返回 ' MHSICNG /' + @ year + ' E' + right(' 0000' + convert ( varchar ( 10 ), @ id ), 4 )+ end alter 表客户添加 CustomerNumber varchar ( 10 ) 创建 触发器 Customers_insert 客户在插入 后 更新 客户 set Customers.customerNumber = dbo.CustomerNumber(Customers.dbID) 来自 客户 内部 加入 插入 客户.dbID = inserted.dbID insert into 客户(客户名称)值(' jeff') 从客户 $ 解决方案 I want to create an auto generated number year wise like MHSIC/2016/E/000001But after closing the year it should create as MHSICNG/2017/E/000001What I have tried:create table Customers(dbID int identity not null primary key,CustomerName varchar(100))create function CustomerNumber (@id int,@year int)returns char(5)asbeginreturn 'MHSICNG/' + @year + 'E' +right('0000' + convert(varchar(10), @id), 4) +endalter table Customers add CustomerNumber varchar(10)create trigger Customers_insert on Customersafter insert asupdate Customersset Customers.customerNumber = dbo.CustomerNumber(Customers.dbID)from Customersinner join inserted on Customers .dbID= inserted.dbIDinsert into Customers (CustomerName) values ('jeff')select * from Customersthis i have tried but i m not getting result as mentioned above. 解决方案 这篇关于如何在不使用主键的情况下将SQL数字自动生成的列创建到SQL Server表中。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!