用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语言基本不懂,请帮忙
展开
 我来答
vinson_shen
2010-07-29 · TA获得超过2503个赞
知道小有建树答主
回答量:960
采纳率:100%
帮助的人:0
展开全部
如果表现没有数据的话,则用insert:

declare @i int
set @i=1
while @i<=200
begin
insert into W0220(gs1501)
values(622025100000000+@i)
set @i=@+1
end

如果表有数据的话,则update:
declare @i int
set @i=0
update W0220 set @i=@i+1,gs1501=622025100000000+@i
moneyqiong
2010-07-29 · TA获得超过196个赞
知道答主
回答量:52
采纳率:0%
帮助的人:59.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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式