根据需求要生成从kkk001,kkk002开始的100个递增账号
手插要死人的,用SQL脚本轻松完成:
declare @a int
declare @s varchar(128) set @a = 1
while(@a<=100)
begin
set @s ='kkk' +right(''+convert(varchar,@a),3)
insert into loginuser values(@s,123456) set @a = @a +1
end
declare:申明变量, @变量名 类型
set:赋值
while: 循环逻辑判断
begin/end:循环开始/结束
right('00'+convert(varchar,@a),3):字符串'00'和变量a转成的字符串合并,例如循环@a=1时,就是001;right( ,3) 从字符串右边开始取3位,例如right('0000'+convert(varchar,@a),3),仍然是001
--------
下面的脚本大同小异,加入事务的处理
declare @a int
declare @s varchar(128) set @a = 1
while(@a<=100)
begin
begin tran t1
set @s ='kkk' +cast(@a as varchar)
insert into loginuser values(@s,123456)
if @@ERROR<>0
begin
rollback;
select @@ERROR
end
else
begin
commit;
set @a = @a +1
end
end
begin tran t1:开始事务t1。对应rollback; 和 commit;
cast(@a as varchar):字符转换,和convert类似,写法不同。
@@ERROR:表示上一条SQL语句执行结果是否有错,如果@@error的值不等于0,即是出错的情况就要采取措施,比如回滚。