高分征解:不同数据库里的表合并?(100分)

L

laoli

Unregistered / Unconfirmed
GUEST, unregistred user!
有的db1,db2 两个数据库,库里有都有一个结构一样的表list1
请问怎么把两个表合并成一个表,删除重复部分,然后保存在
Db1里,覆盖原表???????????????
 
用BDE下的BATCHMOVE
batchmove1.Mode=batAppendUpdate
即可达到你的目地快去试吧....
 
我用的是ADO接口的数据库,不希望用BDE的。。。不好意思
 
TClientDataset.AppendData(const Data: OleVariant; HitEOF: Boolean);
 
var csd1,csd2: TClientDataset
begin
csd2.AppendDate(csd1.Data,true);
end;
 
SELECT * into DB //这里改个名字可以运行,不改我还没有试出来
FROM db1
UNION
SELECT *
FROM db2


 
会删除重复部分吗?

 
to jinmen
能详细一点吗?谢谢!!!!!
 
select distant ....
 
我经常处理这样的问题.算法如下:

TABLE1,TABLE2.假设他们中有唯一索引的字段为BH:
//注意提前保存表
SELECT A.* FROM TABLE1 A,TABLE 2 B WHERE A.BH=B.BH INTO TABLE TMP;//重复记录
TMP.FIRST//扫描重复记录
WHILE NOT TMP.EOF() DO
BEGIN
DELETE FROM TABLE1 WHERE TABLE1.BH=TMP.BH//删除
TMP.NEXT;
END;
INSERT TABLE2 SELECT * FROM TABLE1;//追加记录

 
好吧,我就详细一点
先把db2中得list表拷到db1,假设名字list1
再用下面sql
use db1
select * into YourNewTable
from list
union
select *
from list1
会删除重复部分,我试了可以
 
多人接受答案了。
 
顶部