问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

sqlserver怎么给已有表的已有字段添加自动编号

发布网友 发布时间:2022-04-09 09:20

我来回答

2个回答

懂视网 时间:2022-04-09 13:41

 1 Create procedure [dbo].[GetSerialNo] 
 2 ( 
 3 @sCode varchar(50) 
 4 ) 
 5 
 6 as 
 7 
 8 --exec GetSerialNo 
 9 
10 begin 
11 
12 Declare @sValue varchar(16), 
13 
14  @dToday datetime,  
15 
16  @sQZ varchar(50) --这个代表前缀 
17 
18 Begin Tran 
19 
20 Begin Try 
21 
22 -- 锁定该条记录,好多人用lock去锁,起始这里只要执行一句update就可以了 
23 --在同一个事物中,执行了update语句之后就会启动锁 
24 Update SerialNo set sValue=sValue where sCode=@sCode 
25 
26 Select @sValue = sValue From SerialNo where sCode=@sCode 
27 
28 Select @sQZ = sQZ From SerialNo where sCode=@sCode 
29 
30 -- 因子表中没有记录,插入初始值--基数据必须手动去创建 
31 
32 If @sValue is null 
33 
34 Begin 
35 
36 Select @sValue = convert(bigint, convert(varchar(6), getdate(), 12) + ‘000001‘) 
37 
38 Update SerialNo set sValue=@sValue where sCode=@sCode 
39 
40 end
41 
42 else 
43 
44 Begin  --因子表有记录 
45 
46 Select @dToday = substring(@sValue,1,6) 
47 
48 --如果日期相等,则加1 
49 
50 If @dToday = convert(varchar(6), getdate(), 12) 
51 
52  Select @sValue = convert(varchar(16), (convert(bigint, @sValue) + 1)) 
53 
54 else  --如果日期不相等,则先赋值日期,流水号从1开始 
55 
56  Select @sValue = convert(bigint, convert(varchar(6), getdate(), 12) +‘000001‘) 
57 
58  
59 
60 Update SerialNo set sValue =@sValue where sCode=@sCode 
61 
62 End 
63 
64 Select result = @sQZ+@sValue 
65 
66 Commit Tran 
67 
68 End Try 
69 
70 Begin Catch 
71 
72 Rollback Tran 
73 
74 Select result = ‘Error‘ 
75 
76 End Catch 
77 
78 end 
技术分享

执行:exec dbo.GetSerialNo ‘CUS‘

结果:CUS150413000001

此方法可用作生成流水号,使用update启动数据库锁,并发不会重复,可读性比较好,当然使用GUID就另当别论了。

SQlSERVER生成唯一编号

标签:

热心网友 时间:2022-04-09 10:49

直接添加就可以了,用设计器或者语句,前面的所有的列都会添加上编号

--添加C列从100开始自增每次+1
alter table test4 add c int identity(100,1) not null

需要注意的是,如果表没有主键,则会按照堆的顺序来进行编号,如果有主键则会按照主键的顺序来进行编号。建议对堆表先建立PK后再添加自增列,避免后期自增的顺序不一致

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
找专业防水队做完还漏水怎么维权 法院会受理房屋漏水造成的纠纷吗? 巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 西瓜里面的番茄红素能被人体吸收吗 乡镇卫生院开展基本公共卫生服务存在哪些问题,下一步将采取哪些措施确保公共卫生工作取得实效 目前全国乡镇卫生院存在哪些普遍问题? 四甲基戊二酸会推迟作物的晚熟吗 葡萄冲施 卫生院目前运行质态差主要问题 四甲基戊二酸的ph值 四甲基戊二酸的应用 四甲基戊二酸可以碱性农药混合吗 为什么我心里一有不开心的事,就会失眠? 四甲基戊二酸的成份跟味精是一样的吗 哪位大师知道四甲基戊二酸?在农业中用的效果到底怎么样? 有一点事情就焦虑不安,失眠,为什么年纪越大越经不住事了? 有没有那位知道四甲基戊二酸是个什么东东? 四甲基戊二酸和复硝酚钠相比,哪个效果更好,谢谢 为什么一有烦心事就失眠呢? 心里想着事情为什么会失眠? 柳州现在初装宽带要多少钱,联通,电信,移动 广西柳州移动新入网哪种套餐最划算 邹越老师的演讲《让世界充满爱》哪里有下载地址???dvd,vcd格式。 问一部好莱坞的电影 关于一位老师把全校最差的班级教到最好 我还记得 里面有个黑人学生喜欢街头涂鸦 四甲基戊二酸能和多硝唑合用吗 牛奶喝多少为益? 关于乡镇卫生院管理与发展策略的思考 乡镇卫生院康复理疗科现状及发展对策 医疗乡镇卫生院机构感染预防与控制四项机制亟待有效落实整改措施_百度问一问 乡镇卫生院院长"不严不实'自查报告怎么写 苹果xr音频编码故障怎么办? 春季里柳什么夏季里虫什么秋季里冬瓜什么? 为什么现在OPPOr15用不了了? 青岛市蜀门蜀路怎么样?有什么好玩的地方? 青岛市神和菜馆怎么样?有什么好玩的地方? 青岛市那些年啤酒屋怎么样?有什么好玩的地方? 青岛市姜山乳鸽怎么样?有什么好玩的地方? 龙山小学开展”翰墨飘香迎新年”对联书写 哪本小说名女主前世叫魅影,是一个杀手 爸爸教神厨300字必须要是300字 《逆天绝宠:邪帝的杀手妃》txt下载在线阅读全文,求百度网盘云资源 逆天绝宠邪帝的杀手妃 男主角是谁 小学生学习书法的好处 抽油烟机有噪声,检测噪声78dB,环境噪声36dB,请问抽油烟机的噪声是多大? 请问抽油烟机噪音的国标是多少