sqlserver触发器无before的解决方案
由于sqlserver在同一张表不支持一个以上的级联删除(on delete cascade) 但在实际开发的时候、还是需要使用到的、所以我们不得不使用触发器来完成这项工作 问题又来了、由于从表存在外键、直接删除主表肯定是不行的、 而sqlserver的触发器没有oracle的before关键字、这让我们很忧伤 但是方法还是有的、sqlserver的触发器有一个字段instead of 具体原理和学术上的解释这里不讲、用通俗的方法来解释:重写关键字的功能 看如下代码: create table a(aa int primary key); create trigger tri_delete_a on a 在表a中、delete关键字已经不再是删除、而更像一个函数、其功能代码如下: declare @abc int;
delete a where aa = 1 则deleted中的数据有aa=1的元组 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |