我要把60多个表的数据从Sybase导入Oracle库,每十分钟倒一次,一直在后台运行。
源表和目的表结构一样。
请问大家:有没有什么好办法能把一个表的数据一下子导进去的?而不用给每个字段一一的循环赋值?(60多个表,会写死人的,也不利于维护)

解决方案 »

  1.   

    把60多个表放在ini文件中,程序读出,一个循环赋值好了。反正你字段名,结构都一样,可以这样
    while not table1.Eof do
    begin
      table2.Insert;
      for i := 0 to table1.FieldCount - 1 do
        table2[table1.Fields[i].FieldName] := table1[table1.Fields[i].FieldName];
      table2.Post;
    end;
      

  2.   

    while not table1.Eof do
    begin
      table2.Insert;
      for i := 0 to table1.FieldCount - 1 do
        table2[table1.Fields[i].FieldName] := table1[table1.Fields[i].FieldName];
      table2.Post;
    end;
      

  3.   

    唉,写C#得foreach习惯了,都忘记了table1.Next了,这样会是死循环得,没想到,抄都不动一下脑筋得。
    while not table1.Eof do
    begin
      table2.Insert;
      for i := 0 to table1.FieldCount - 1 do
        table2[table1.Fields[i].FieldName] := table1[table1.Fields[i].FieldName];
      table2.Post;
      table1.Next;
    end;