关于主从表删除的问题,高手,低手都请进。(10分)

  • 主题发起人 主题发起人 晨空
  • 开始时间 开始时间

晨空

Unregistered / Unconfirmed
GUEST, unregistred user!
用adoquery连了两个主从表,现在当要删除主表时,希望从表中对应的数据也删除,但试了好
几个方法,如adoquery1.delete,或是用sql语句写,都只能删除主表,不能删除从表,
我只能先把从表中的数据先del后,再删除主表,问有什么 好点的方法,能快点删除主从表?谢谢
 
1、建立主从表的关系,主表的主键1-〉N从表的外键,定义关系为强制删除、更新。
2、如:
Table1
ID, Name, Value

Table2
ID, MainID, F1, F2, ...

create view MasterDetail as
Select a.ID, a.Name, a.Value, b.ID as bID, b.F1, b.F2, ...
FROM Table1 a right join Table2 b on a.ID = b.MainID

do delete:
Delete MasterDetail where ID = #DeleteID

try it!
 
用触发器,在后台做,不过我觉得用触发器不太好,特别是用的缓冲的主从表.往往在删除和
存储时,会出现一些数据更新方面的问题
 
同意楼上的,数据完整性最后由数据库本身实现,用触发器或者存储过程。 Example:

Create trigger Dele_MyTable
On MyTable
For Delete
As
begin
Delete from MyTable where mytable.id=deleted.id
end
 
接受答案了.
 
后退
顶部