设为首页 收藏本站
查看: 1051|回复: 0

[经验分享] Sql Server实现自动增长

[复制链接]

尚未签到

发表于 2017-12-14 11:47:35 | 显示全部楼层 |阅读模式
--下面的代码生成长度为8的编号,编号以BH开头,其余6位为流水号。  

--得到新编号的函数  
CREATE FUNCTION f_NextBH()
  
RETURNS
char(8)  
AS
  
BEGIN
  RETURN(SELECT
'BH'+RIGHT(1000001+ISNULL(RIGHT(MAX(BH),6),0),6) FROM tb WITH(XLOCK,PAGLOCK))  
END
  
GO
  

  

--在表中应用函数  
CREATE TABLE tb(
  
BH
char(8) PRIMARY KEY DEFAULT dbo.f_NextBH(),  
col
int)  

  

--插入资料  
BEGIN TRAN
  INSERT tb(col) VALUES(
1)  INSERT tb(col) VALUES(
2)  INSERT tb(col) VALUES(
3)  DELETE tb WHERE col
=3  INSERT tb(col) VALUES(
4)  INSERT tb(BH,col) VALUES(dbo.f_NextBH(),
14)  
COMMIT TRAN
  

  

--显示结果  
SELECT
* FROM tb  

/*--结果  
BH         col
  
---------------- -----------
  
BH000001  1
  
BH000002  2
  
BH000003  4
  
BH000004  14
  
--
*/  

  

  
create table tb
  
(id
int>
name varchar(10),  
code
as 'BH'+right('0000'+cast(id as varchar),5))  
go
  
insert tb(name)
select 'A'  
union all
select 'B'  
union all
select 'C'  
union all
select 'D'  

  
select * from tb
  

  
drop table tb
  

  
/*
  
id          name       code         
  
----------- ---------- ------------
  
1           A          BH00001
  
2           B          BH00002
  
3           C          BH00003
  
4           D          BH00004

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-423980-1-1.html 上篇帖子: 连接SDE空间数据库 下篇帖子: sql server 取文件名函数 转载
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表