用SQL语句连续填充卡号
现有表W0220,里面有200人,计划在gs1501列给每个人发一个服务卡号,卡号依次是622025100000001,622025100000002,622025100...
现有表W0220,里面有200人,计划在gs1501列给每个人发一个服务卡号,卡号依次是622025100000001,622025100000002,622025100000003.......,622025100000200,现如何用SQL语句实现填充卡号,请各位大虾帮忙,本人对SQL语言基本不懂,请帮忙
现有表W0220,里面有200人,计划在gs1501列中为每一个人发一个服务卡号,卡号依次是622025100000001,622025100000002,622025100000003.......,622025100000200,现如何用SQL语句一次实现填充卡号,请各位大虾帮忙,本人对SQL语言基本不懂,请帮忙 展开
现有表W0220,里面有200人,计划在gs1501列中为每一个人发一个服务卡号,卡号依次是622025100000001,622025100000002,622025100000003.......,622025100000200,现如何用SQL语句一次实现填充卡号,请各位大虾帮忙,本人对SQL语言基本不懂,请帮忙 展开
2个回答
展开全部
CREATE PROC CreateMaxNum
(
@NumberHeader NVARCHAR(40) --号码单头类型
)
DECLARE @NumberHeader NVARCHAR(40), --编号头
@NumberMiddle CHAR(8), --编号中间规则
@MaxNum CHAR(8), --编号最大流水号
@SQL NVARCHAR(4000)
SET @NumberMiddle= CONVERT(CHAR(8),GETDATE(),112) --设置中间编码规则
SET @SQL = 'SELECT @Num=RIGHT(''0000''+LTRIM(MAX(RIGHT(号码,4))+1),4)
FROM 号码表
WHERE 号码 LIKE '''+ @NumberHeader+'%'' ';
EXEC sp_executesql @Sql,N'@Num NVARCHAR(40) OUTPUT',@MaxNum OUT
IF @MaxNum IS NULL --不存在该类型的号码,插入流水号为1的号码,
BEGIN
SELECT @NumberHeader + @NumberMiddle + '0001'
END
ELSE
BEGIN --生成最大流水号
SELECT @NumberHeader + @NumberMiddle + @MaxNum
END
(
@NumberHeader NVARCHAR(40) --号码单头类型
)
DECLARE @NumberHeader NVARCHAR(40), --编号头
@NumberMiddle CHAR(8), --编号中间规则
@MaxNum CHAR(8), --编号最大流水号
@SQL NVARCHAR(4000)
SET @NumberMiddle= CONVERT(CHAR(8),GETDATE(),112) --设置中间编码规则
SET @SQL = 'SELECT @Num=RIGHT(''0000''+LTRIM(MAX(RIGHT(号码,4))+1),4)
FROM 号码表
WHERE 号码 LIKE '''+ @NumberHeader+'%'' ';
EXEC sp_executesql @Sql,N'@Num NVARCHAR(40) OUTPUT',@MaxNum OUT
IF @MaxNum IS NULL --不存在该类型的号码,插入流水号为1的号码,
BEGIN
SELECT @NumberHeader + @NumberMiddle + '0001'
END
ELSE
BEGIN --生成最大流水号
SELECT @NumberHeader + @NumberMiddle + @MaxNum
END
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询