自动编号

qiuming0306 2007-10-18 10:55:08
自动编号分为三部分,第一部分是根据传进来的int参数取后三位,第二部分是根据传进来的第二个int参数取后三位,最后是4位递增的顺序号!
...全文
124 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wgzaaa 2007-10-18
  • 打赏
  • 举报
回复
不要考虑default除非你给参数确定的值,按你的描述在插入语句中调用函数就够了
elvis_gao 2007-10-18
  • 打赏
  • 举报
回复
存储过程调用函数 [dbo].[AutoFamily_Code](数1,数2)
晓风残月0110 2007-10-18
  • 打赏
  • 举报
回复

declare @t table(a int,b int)
insert @t select 00111,00222
insert @t select 00333,00444
--print right('aabbb',3)
declare @maxcode varchar(10)
set @maxcode = '1112220002'
declare @sql nvarchar(50)
--@sql是编号中的max值
set @sql =right(@maxcode,4)
select right(a,3)+right(b,3)+right('0000'+convert(varchar(4),convert(int,right(@sql,4))+1),4) as '编号' from @t

wgzaaa 2007-10-18
  • 打赏
  • 举报
回复
default()时参数没法传进来
qiuming0306 2007-10-18
  • 打赏
  • 举报
回复
期待高手帮忙解决!
qiuming0306 2007-10-18
  • 打赏
  • 举报
回复
我写了一个函数,但是不能用default()约束调用。

ALTER function [dbo].[AutoFamily_Code](@Community_ID int,@HousingEstate_ID int)
returns varchar(10)
as
begin
declare @str varchar(10)
select @str=isnull(max(Family_Code),right('000'+right(@Community_ID,3),3)+right('000'+right(@HousingEstate_ID,3),3)+'0000')
from FamilyInfo
where Family_Code like right('000'+right(@Community_ID,3),3)+right('000'+right(@HousingEstate_ID,3),3)+'%'
select @str=left(@str,6)+right('0000'+convert(varchar(4),convert(int,right(@str,4))+1),4)
return (@str)
end
qiuming0306 2007-10-18
  • 打赏
  • 举报
回复
wgzaaa 结帐时没看见你的帖子!以后有机会补上

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧