如果所有的表名已知,就
insert into atable 
(
  select * from FA001 
    union
  select * from FA001s 
    union
.........)

解决方案 »

  1.   

    这个。一千张表好像一张一张的导有点费劲吧?
    我觉得实现的重点是如何得到库中F打头的表的数目,还有如何生成执行SQL的表的表名,由于对Oralce不很了解,再加上手边也没有书,实在是没有办法,请大家帮忙解决,谢谢!
      

  2.   

    还有,表名是没有规律的,只是都是F打头,楼上所说的用union的方法好像不能用啊
      

  3.   

    第一:利用QUERY1操作,SELECT * FROM SYSOBJECTS WHERE OBJECT_NAME LIKE 'F%'
    第二:利用query2操作,套在query1的循环中,将所有的表重的数据插入到你的目的表中即可。
      

  4.   

    我记得李维的哪本书上写过取得数据库中所有表名的例子.在delphi6的例子程序中也有一个oracle的例子,可以取得数据表名,取得数据表名之后,再找以开头的表不是很容易了吗?
    再写示例语句我想就不用了吧?
      

  5.   

    同意 Fzgta(蝈蝈) 的想法,但是似乎sql有错,系统提示“ORA-00942: 表或视图不存在”,不知是何故?另外再提一问,若F打头的表中有不符合要求的表,即表结构和需要导出数据的表结构不同,如何将这些表出去,避免insert的时候出错?
    另外,感谢menliwxj(有缘) ,可是我这里用的是delphi5,希望你能给出明确的解决方法,谢谢!
      

  6.   

    Fzgta(蝈蝈) ,正确SQL应为
    SELECT * FROM DBA_OBJECTS WHERE OBJECT_NAME LIKE 'F%',
    得到所需的表名之后呢?如何控制循环,可以每次insert一个table的数据?