点一个按钮要删除5个表中的记录,其中一个表的主键是另外4个表的外键,怎么实现

来源:百度知道 编辑:UC知道 时间:2024/05/18 20:10:45
连续执行5个SQL语句,还是建一个触发器,具体怎么做
这个触发器好难啊,谁帮我写一下,我再加50分,表是这样的,有6个表,叫a,b,c,d,e,f吧,a表的主键都是b,c,d,e,f的外键,b表的主键都是c,d,e,f表的外键,b表删除一条数据时触发c,d,e,f表也删除一条数据,删除条件是这4个表的外键满足前面两个表的主键

我给你思路吧.代码你自己根据你的情况写:

你的这个情况.无非就是这几次实现方式:

1.直接在程序里删5条记录.在程序用SqlTransaction处理事务.

2.在数据库用存储过程+事务.

3.在数据库用触发器.

现在我们一个一个分析.

先说第二个.针对哪张表做delete触发器?得先删除四张外键表.再删主键表吧?如果这样儿的话.就是得做4个触发器?那我只想删其中一张表的内容.此时怎么办?不知道我分析的对不对.暂且认为是对的吧.所以这个方案不可用.

再说第一个.用程序的话维护不方便.如果某天要改为不删其中一张怎么办.去程序里改?而且在程序中用SqlTransaction.据说是不如数据库中的事务安全.

所以建议写数据库存储过程+事务.程序里直接调用存储过程就OK.如果需求有改动.直接改存储过程就OK.

虽然用SQL语句的话可能简单点,但还是用触发器比较保险

存储过程也可以

触发器

对!用触发器,安全,速度快!