serialnumber

更新时间:2023-03-02 19:21:17 阅读: 评论:0

一个男人爱你的表现-鲜花怎样保鲜时间更长一点呢

rialnumber
2023年3月2日发(作者:排练厅)

SqlServer-实⽤技巧-流⽔号⽣成

代码如下

IFexists(SELECT*FROMsysobjectsWHEREname='GetSerialNumber'andType='FN')

DROPFUNCTION[dbo].[GetSerialNumber]

Go

/*=======================================

创建⼈:Lemon

创建⽇期:2020-05-14

功能描述:获取流⽔号,格式:标识+年⽉⽇+四位数序号(该年⽉⽇下数据的数量),需要有数据创建时间CDate

如果是新增则传⼊主键PrimaryKeyID为0,⽣成位新序号

如果是原有数据编辑则传⼊主键PrimaryKeyID,在CDate下根据主键进⾏排序获取四位数序号

如有需要可以将对应的TableName和PrimaryKeyName变为需要的表名和主键名,CDate修改为对应的⽇期

单元名称:GetSerialNumber

=======================================*/

CreateFUNCTION[dbo].[GetSerialNumber](@PrimaryKeyIDint,@ReamrkNvarchar(50))

RETURNSnvarchar(1000)

AS

BEGIN

DECLARE@SerialNumberNVARCHAR(1000)

IFisnull(@PrimaryKeyID,0)<>0

Begin

SELECT@SerialNumber=isnull(@Reamrk,'')

+convert(char(8),(SELECTisnull(CDate,GetDate())FROM[dbo].[TableName]WHEREPrimaryKeyName=@PrimaryKeyID),112)

+RIGHT(''

+CAST((SELECTRowID

FROM(

SELECTROW_NUMBER()OVER(ORDERBYPrimaryKeyName)ASRowID,*

FROM[dbo].[TableName]

WHEREconvert(char(8),CDate,112)=convert(char(8),(SELECTisnull(CDate,GetDate())FROM[dbo].[TableName]WHEREPrimaryKeyName=

WHEREPrimaryKeyName=@PrimaryKeyID

)ASvarchar(100)),4)

End

ELSE

Begin

SELECT@SerialNumber=isnull(@Reamrk,'')

+convert(char(8),getdate(),112)

+RIGHT(''+CAST((SELECTCOUNT(1)+1FROM[dbo].[TableName]WHEREconvert(char(8),CDate,112)=convert(char(8),getdate(),112))

End

RETURNisnull(@SerialNumber,'')

End

Go

lectSerialNumber=ialNumber(PrimaryKeyName,'Demo')fromTableName

实例效果图

本文发布于:2023-03-02 19:21:17,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/zhishi/a/16777560776890.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:serialnumber.doc

本文 PDF 下载地址:serialnumber.pdf

上一篇:拆除烟囱
下一篇:返回列表
标签:serialnumber
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 实用文体写作网旗下知识大全大全栏目是一个全百科类宝库! 优秀范文|法律文书|专利查询|