insert into a(字段全部列出来,除了ID)
select 字段全部列出来,除了ID
from B

解决方案 »

  1.   

    谢谢版主。
    列出需要的字段,我现在就是这样做的。但是我嫌此麻烦,才想在此求一个简单的方法,即不全部列出。用 select * ....
      

  2.   

    那就动态产生列名,在注释的部分写上你那个ID,就可以去掉了,如果A表的ID是可以不管的话,开启set identity_insert on 然后插入即可DECLARE @s NVARCHAR(4000)
    SET @s = ''
    SELECT  @s = @s + ',' + 'isnull('+QUOTENAME(name)+','''')'
    FROM    syscolumns
    WHERE   id = OBJECT_ID('表名')
            --AND name NOT IN ( '不希望显式的列' )
    SET @s = STUFF(@s, 1, 1, '')
    EXEC('select '+@s+' from 表名  ')
      

  3.   

    谢谢版主。
    我有不能使用set identity_insert on 设置。
    上面动态列名的方法好像更麻烦。
    有无简单的方法?