[code]
  r_1 double(11,2) NOT NULL default '0.00',
  r_2 double(11,2) NOT NULL default '0.00',
  r_3 double(11,2) NOT NULL default '0.00',
  r_4 double(11,2) NOT NULL default '0.00',
  r_5 double(11,2) NOT NULL default '0.00',
  r_6 double(11,2) NOT NULL default '0.00',
  r_7 double(11,2) NOT NULL default '0.00',
  r_8 double(11,2) NOT NULL default '0.00',
  r_9 double(11,2) NOT NULL default '0.00',
  r_10 double(11,2) NOT NULL default '0.00',
  r_11 double(11,2) NOT NULL default '0.00',
  r_12 double(11,2) NOT NULL default '0.00',
  r_13 double(11,2) NOT NULL default '0.00',
  r_14 double(11,2) NOT NULL default '0.00',
  r_15 double(11,2) NOT NULL default '0.00',
  r_16 double(11,2) NOT NULL default '0.00',
  r_17 double(11,2) NOT NULL default '0.00',
  r_18 double(11,2) NOT NULL default '0.00',
  r_19 double(11,2) NOT NULL default '0.00',
  r_20 double(11,2) NOT NULL default '0.00',
  r_21 double(11,2) NOT NULL default '0.00',
  r_22 double(11,2) NOT NULL default '0.00',
  r_23 double(11,2) NOT NULL default '0.00',
  r_24 double(11,2) NOT NULL default '0.00',
  r_25 double(11,2) NOT NULL default '0.00',
  r_26 double(11,2) NOT NULL default '0.00',
  r_27 double(11,2) NOT NULL default '0.00',
  r_28 double(11,2) NOT NULL default '0.00',
  r_29 double(11,2) NOT NULL default '0.00',
  r_30 double(11,2) NOT NULL default '0.00',
  r_31 double(11,2) NOT NULL default '0.00',
  r_32 double(11,2) NOT NULL default '0.00',
  r_33 double(11,2) NOT NULL default '0.00',
  r_34 double(11,2) NOT NULL default '0.00',
  r_35 double(11,2) NOT NULL default '0.00',
  r_36 double(11,2) NOT NULL default '0.00',
  r_37 double(11,2) NOT NULL default '0.00',
  r_38 double(11,2) NOT NULL default '0.00',
  r_39 double(11,2) NOT NULL default '0.00',
  r_40 double(11,2) NOT NULL default '0.00',
  r_41 double(11,2) NOT NULL default '0.00',
  r_42 double(11,2) NOT NULL default '0.00',
  r_43 double(11,2) NOT NULL default '0.00',
  r_44 double(11,2) NOT NULL default '0.00',
  r_45 double(11,2) NOT NULL default '0.00',
  r_46 double(11,2) NOT NULL default '0.00',
  r_47 double(11,2) NOT NULL default '0.00',
  r_48 double(11,2) NOT NULL default '0.00',
  r_49 double(11,2) NOT NULL default '0.00', 
[/code]
建A表,r_1~r_25为A表的字段,建B表r_26~r_49为B表的字段

解决方案 »

  1.   

    declare @Sql varchar(1000),@I INTset @Sql='Create Table A('
    SET @I=1
    WHILE @I<26
    BEGIN
       SET @Sql=@Sql+'[r_'+LTRIM(@I)+'] INT,'
       SET @I=@I+1
    END
    SET @Sql=LEFT(@Sql,LEN(@Sql)-1)+')'
    EXEC(@Sql)
      

  2.   


    --参考:
    declare @sql nvarchar(4000)select @sql=isnull(@sql+',','')+'[r_'+rtrim(number)+'] nvarchar(100)'
    from master..spt_values
    where number between 1 and 25set @sql='create table [A]('+@sql+')'
    --print @sql
    exec(@sql)
      

  3.   

    create proc createtb 
    @tablename varchar(100),--表名
    @coltype varchar(10),   --字段类型
    @collength int          --字段长度
    as
    declare @sql varchar(8000)select @sql=isnull(@sql+',','')+'[r_'+rtrim(number)+'] '+@coltype+'('+@collength+')'
    from master..spt_values
    where number between 1 and 25set @sql='create table ['+@tablename+']('+@sql+')'exec(@sql)
    go
      

  4.   

    谢谢了,照这个方法,我在后面加上set @I=1
    while @I<26
    begin
    set @Sql='alter table A add default(0.00) for [r_'+LTRIM(@I)+']'
    exec(@Sql)
    set @I=@I+1
    end就可以有默认值了