哦,漏写了, @kbgs 是int

解决方案 »

  1.   

    create proc addkcapbase
           @bid nvarchar(43),
           @kczbid nvarchar(30),
           @kcbh nvarchar(3),
           @kbgs int
    as  if @kcbh>0 
       WHILE(@kbgs>0)
             BEGIN
                  set @bid=@bid+str(@kbgs) --改为
                  insert into kcap (bid,kczbid,kcbh)values(@bid,@kczbid,@kcbh)
                  set @kbgs=@kbgs-1 --改为
             end 
    else
    begin --加上
         
        insert into kcap (bid,kczbid,kcbh)values(@bid,@kczbid,@kcbh)
         set @kbgs=@kbgs-1 --改为
    end --加上
    go
      

  2.   

    create proc addkcapbase
    @bid nvarchar(43),
    @kczbid nvarchar(30),
    @kcbh nvarchar(3),
    @kbgs int
    as if @kcbh>0 
    begin
             WHILE (@kbgs>0)
             BEGIN
                  set @bid=@bid+str(@kbgs)
                  insert into kcap (bid,kczbid,kcbh) values(@bid,@kczbid,@kcbh)
                  set @kbgs=@kbgs-1
             end
    end 
    else
    begin
            insert into kcap (bid,kczbid,kcbh) values(@bid,@kczbid,@kcbh)
            set @kbgs=@kbgs-1
    end
    go
      

  3.   

    哦,这么简单!!!!!!!!!!
    晕倒,我这样都会出错???create proc addkcapbase
    @bid nvarchar(43),
    @kczbid nvarchar(30),
    @kcbh nvarchar(3),
    @kbgs int
    as if @kcbh>0 else
    go
    为什么啊?????答完马上揭帖!
      

  4.   

    必须要有代码create proc addkcapbase
    @bid nvarchar(43),
    @kczbid nvarchar(30),
    @kcbh nvarchar(3),
    @kbgs int
    as if @kcbh>0 
             select 0
    else
             select 1go