表A01和表A02的有70条左右相同的字段(包括类型和长度);唯一不同的是A02比A01多了两条字段;我想从表A01中复制一条记录到A02中;有什么比较好的办法没?
紧急求助;我想到的办法太恐怖了;^_^;

解决方案 »

  1.   

    实在不行我就准备用select (...) into A02(...) from A01 where A0100 = ? 了;^_^;
      

  2.   

    faint。
    怎么这么多字段?
    select * into #temp from A01 where ...
    ALTER TABLE #temp DROP COLUMN ...
    select * into A02 from #temp
    如果字段顺序不一样或者存在自动编号字段……
    使用sp_columns获取字段列表
    然后动态组合成SQL语句
    太长,这儿不写了……
      

  3.   

    除了一个个字段的赋值,没有什么好方法吧?
    你的SQL语句好像也不行吧?
      

  4.   

    用SQL Server的Import/Export工具吧在导入/导出时选择两个表相对应的列~~
      

  5.   

    to : noil0125(珏心)  hongqi162(失踪的月亮.net) myling(阿德)  windindance(风舞轻扬) 两个表的定义是这样的;
    A01 :
      A0100,A0101,A0102... A0172;
    A02 :
      A0100,A0101,A0102... A0172,A0173,A0174;前面72个字段都是完全相同的;基本上说表的定义不存在什么问题;
    因为一条记录是一个完整的信息;
    如果分开定义成多个表的话;联立查询时会更难受;
      
      

  6.   

    再to :myling(阿德)  我知道那条sql语句有问题;我的意思是就用这种字段列表的格式插入;
         我先用windindance(风舞轻扬) 的方法试下;PS;to;: CoolSlob(过期男友) 我是在程序中要对记录信息更改的时候做这个操作的;
              让客户出来操作【SQL Server的Import/Export】明显不是很现实;下班前揭帖;
    先谢谢楼上几位的参与;^_^;
      

  7.   

    不可以使用insert table1 .......... select fields from table2吗?
      

  8.   

    你可以这样,先使用select into 将table2中的数据复制到某一个临时表tttt中。
    然后修改临时表tttt的表结构和table1的表结构一样,
    这样就可以批量插入了。
      

  9.   

    两个表的定义是这样的;
    A01 :
      A0100,A0101,A0102... A0172;
    A02 :
      A0100,A0101,A0102... A0172,A0173,A0174;前面72个字段都是完全相同的;基本上说表的定义不存在什么问题;
    因为一条记录是一个完整的信息;
    如果分开定义成多个表的话;联立查询时会更难受;==============================================================================
    既然“前面72个字段都是完全相同的”
    那直接用如下语句就可以:INSERT INTO A02 SELECT * FROM A01如果还要去掉A01中的重复的行就用以下语句:INSERT INTO A02 SELECT DISTINCT * FROM A01//以上我在ACCESS上测试通过...
      

  10.   

    以上方法只能从 A01 复制数据到 A02
    如果要从 A02 复制到 A01 那就要用另外的方法.
      

  11.   

    to: CoolSlob(过期男友)  我就是不想用这个;字段太多;^_^;to: cmain83(心缘※草) 我不知道access中是怎么处理的;不过sql中这种插入方法会报错说
    【插入错误: 列名或所提供值的数目与表定义不匹配。】
    解决的办法还是要将相应的字段全部列出来;^_^;