alter table B
add XH char(8)
declare @s char(4)
set @s='0001'
while @s<='1000'
begin
set XH='CH'+@s
set @s=@s+1
end服务器: 消息 170,级别 15,状态 1,行 5
第 5 行: '=' 附近有语法错误。

解决方案 »

  1.   

    set @s=@s+1 
    改int加把
      

  2.   

    alter table B 
    add XH char(8)
    go
     
    declare @s char(4) 
    set @s='0001' 
    while @s <='1000' 
    begin 
    set XH='CH'+@s 
    set @s=@s+1 
    end 
      

  3.   

    alter table B 
    add XH char(8) 
    go
    declare @s int,@XH char(4)
    set @s=1
    while @s <=1000
    begin 
      set @XH='CH'+right('0000'+rtrim(@s),4)
      exec ('alter table B add '+@XH+' char(4)')
      set @s=@s+1
    end 
      

  4.   


    declare @i int
    set @i=1
    while @i<=5
    begin
    select @i
    set @i=@i+1
    end1
    2
    3
    4
    5
      

  5.   

    你这是什么循环?直接set xh = 'CH' + @S不就行了?
    或:set XH = 'CH1000'
      

  6.   


    alter table B 
    add XH char(8) declare @s int
    set @s=1
    while @s <=1000
    begin 
    set XH='CH'+right('0000'+ltrim(@s),4)
    set @s=@s+1 
    end 
      

  7.   

    我想让XH这一列的所有值添加的时候都以'CH****'形式出现,否则就报错
      

  8.   

    declare @s int,@i int
    set @s=10001
    set @i=1
    while (@i <=1000)
    begin 
    insert into B  (XH) values ('CH'+RIGHT(@s,4))
    set @s=@s+1
    set @i=@i+1end 
    select * from B
    --delete from B