SQLServer批量创建有规则的数据

根据需求要生成从kkk001,kkk002开始的100个递增账号

手插要死人的,用SQL脚本轻松完成:

declare @a int
declare @s varchar(128)

set @a = 1
while(@a<=100)
begin 
set @s ='kkk' +right('00'+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,即是出错的情况就要采取措施,比如回滚。

posted @ 2014-03-05 14:52  KK&TT  阅读(520)  评论(0)    收藏  举报
AmazingCounters.com