生成格式如:DT.EMP.0000000001的自增emp_id, 加入EmpBaseINfo表中。
--生成格式如DT.EMP.0000000001 【Vegas Add】
ALTER FUNCTION [dbo].[Get_EmpBaseInfo_AccountID](@RowID as int)
RETURNS nvarchar(50) as
begin
declare @oid nvarchar(50)
declare @headStr nvarchar(50)
set @headStr='DT.EMP.'
----------------------------RowID的计算--------------------------------------
if exists(select 1 from empbaseinfo)
--如empbaseinfo存在数据,count(*)后直接加RowID
begin
select @oid=count(1) from empbaseinfo
set @oid=@oid+ @RowID
end
else
set @oid=@RowID
----------------------------补全十个数------------------------------
declare @str nvarchar(50) --临时编号
set @str=convert(nvarchar,(convert(int,right(@oid,10))))
while (10-len(@str)>0)
begin
set @str='0'+@str
end
set @oid=@headStr+@str
---------------------------返回值---------------------------------------------------------
RETURN @oid
end
调用:
selectdbo.Get_EmpBaseInfo_AccountID(ROW_NUMBER() OVER(ORDER BY hbdwno)) as id,
hbdwno,hbdbno,hbdenm,hbdcnm,
(case hbdgdr when 1 then 'M' when 0 then 'F' end),
(case hbdidl when 1 then 'IDL' when 0 then 'DL' end),
hbdwdt,hbdbir,hbdmds,'DT' as domain
from hrmsdt.hrms.dbo.hrshhbd
order by hbdwno
【Vegas原创】按自定义格式进行编号的SQL自定义函数
原创李济宏Amadeus 博主文章分类:DB Development ©著作权
文章标签 数据 自增 javascript 文章分类 数据库
©著作权归作者所有:来自51CTO博客作者李济宏Amadeus的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
SpringBoot自定义starter
SpringBoot自定义starter
spring maven ci -
自定义函数调用sql server 自定义函数调用点格式
函数定义和调用一,自定义函数的定义二,自定义函数的调用三,函数中参数的传递1.1自定义函数的定义: 1)基本格式: def 函数名(): →(参数(0个或者多个)) &nbs
自定义函数调用sql server python 默认值 自定义函数 函数调用