declare @i int
set @i=1
while @i<=120
   begin
     exec('insert into kh_gr_jbxx (xm,xb) values('+'测试'+@i+','+'男'+')')
     set @i=@i+1
   end
相让插入的值为测试1、测试2,但是同步噢不了

解决方案 »

  1.   

    '测试'+cast(@i as varchar(10))
      

  2.   

    '测试'+@i
    修改为
    '测试'+convert(@i as varchar)
      

  3.   

    declare @i int
    set @i=1
    while @i<=120
       begin
         exec('insert into kh_gr_jbxx (xm,xb) values('+'测试'+cast(@i as varchar)+','+'男'+')')
         set @i=@i+1
       end
      

  4.   

    declare @i int
    declare @sql varchar(500)
    set @i=1
    while @i<=120
       begin
         set @sql='insert into kh_gr_jbxx (xm,xb) values(''测试'+cast(@i as varchar)+''','''男)'
         exec(@sql)
         set @i=@i+1
       end
      

  5.   

    declare @i int
    declare @sql varchar(500)
    set @i=1
    while @i<=120
       begin
         set @sql='insert into kh_gr_jbxx (xm,xb) values(''测试'+cast(@i as varchar)+''',''男'')'
         exec(@sql)
         set @i=@i+1
       end
      

  6.   

    declare @i int,@sql varchar(100)
    set @i=1
    while @i<=120
    begin
        set @sql='insert into kh_gr_jbxx (xm,xb) values(''测试'+rtrim(@i)+''','''男''')'
        exec(@sql)
        set @i=@i+1
    end
    go
      

  7.   

    to andy1995(拓狼) 
    '测试'+convert(@i as varchar)
    ------------------------------------------------要改为'测试'+cast(@i as varchar)
      

  8.   

    declare @i int
    declare @str varchar(8000)
    set @i=1
    while @i<=120
       begin
         set @str='insert into kh_gr_jbxx(xm,xb) values('+'''测试'+cast(@i as varchar)+''',''男'')'
         exec(@str)
         set @i=@i+1
       end
      

  9.   

    create  table #kh(xm varchar(10),xb varchar(2))
    declare @i int
    declare @sql nvarchar(500)
    declare @xm varchar(10),@xb varchar(2)
    set @i=1
    set @xb='男'
    while @i<=120
      begin
    set @xm=cast(@i as varchar)
    set @xm='测试'+@xm
         set @sql=N'insert into #kh (xm,xb) values(@xm,@xb)'
         exec sp_executesql @sql,N'@xm varchar(10),@xb varchar(2)',@xm,@xb
         set @i=@i+1
       end
    select * from #kh
    drop table #kh