将一个临时表#A中的某一个字段的值向另一个临时表#B的第一个字段中插入值,不知道表#B的字段数,语句怎么写?
以下的语句有问题。报列数不批配。可列数是动态的,没法写啊。
     insert into #B
         select cname from #A

解决方案 »

  1.   

         insert into #B(cname) select cname from #A
      

  2.   

    insert into #B 
    select * from #A
      

  3.   

     insert #B(field_name) select field_name from #A
      

  4.   

    declare @rowcount int
    declare @sql nvarchar(200)set @rowcount = #B.fields.count+1
    set @sql = 'insert into #B (select cname from #A'
    while @rowcount>0
    begin
    set @sql = @sql +', NULL'
    set @rowcount=@rowcount-1
    end
    set @sql =@sql +')'
    exec(@sql)
      

  5.   

    dawugui,说的方法可行。怎么值插到#B的前面去了,能不能把值给插到#B已有值的后面去?
      

  6.   

    insert into #B(cname) 
    select cname 
    from #A
      

  7.   

    dawugui,说的方法可行。怎么值插到#B的前面去了,能不能把值给插到#B已有值的后面去?insert into #B(cname) select cname from #A这个增加数据,至于你说的前面后面应该是显示的问题吧?
      

  8.   

    插完后,用select * from #B读出来的数据,显示的数据后插的显示在前面了。我想让它按顺序往下插,有没有好的办法?不用ORDER BY某字段来排序。
      

  9.   

    insert into #B(cname) select cname from #A 
    楼主说的是update吧?update #B set #B.name=#B.name+rr.name from A
      

  10.   

    不是。
    以下的语句不知还要加上什么语句,才能让从#A中读出的值插到#B表中已存在的值后面去。
    insert into #B(cname) select cname from #A