同时对多表插入数据(100分)

  • 主题发起人 主题发起人 wxyq3064
  • 开始时间 开始时间
W

wxyq3064

Unregistered / Unconfirmed
GUEST, unregistred user!
我的问题如下:
假定存在任一数据库(我以SQL SERVER数据库为例),我从中选定任一用户创建的表作为主表,
那么存在一定量的关联表(假定关联字段为主键或索引,它们作为关键字段)。现在我对主表插入数据,然后取出主表中
关联字段的值,把它们插入到各关联表相应的字段中去。现在的情况是,关联表中存在主表中没有的关键字段(我假定其为
主键),那么这些关联表中的关键字段的值从何处取得?就算这次插入成功,那么我再选中一个主表,它于上面的关联表存在关联
,并且关联表中的关键字段的值已经插入,我怎样保证插入主表中的相应字段的值不于各关联表相应字段已存在的值不重复。
这样操做直到数据库中所有的用户表全部插入记录。
请各位大虾提供方法!!
 
用事务处理,
try
database1.starttranscaction;
table1.fieldbyname(..).asvalue:=...;
table2.fieldbyname(..).asvalue:=...;
table1.post;
table2.post;
database1.commit;
except
database1.rollback;
showmessage('主键重复');
end;
 
用locate,循环加判断
while …… do
if locate(……) then
begin
edit;
……
end
else
begin
append;
……
end;
 
后退
顶部