日期:2014-05-17  浏览次数:20761 次

请教如何通过触发器来实现逻辑删除
主键是用序列自增长的,如果先insert再update,那么主键会跳号,如何设计才比较好?

------解决方案--------------------
直接将原纪录的DR改为1不就行了?为什么还要在表中新增一条原纪录呢?主键一定要连续吗?有什么特别的意义?主键的意义就是唯一+一个值能确定表里面的其他字段属性,并不要求一定连续。。。
------解决方案--------------------
三步:
假设你的表为A
1、把你的表改名为A_1
2、建议个view 名称为A
create or replace A as select * from A_1;
这样,所有对原表的操作都必须经过视图A来做了,因为视图A与原表同名,并且视图为“单一”视图
所以 系统原来对表A的逻辑处理都不需要进行改动
3、在视图A上建立 delete instead of 视图,捕捉删除操作,instead of为update dr=1的操作。


------解决方案--------------------
探讨
无法在表中创建instead of ……