1.设计思路说明
0.通过一个统计表,用来记录你的关键业务表的记录数;每次进行删除操作时,通过创建设置的触发器,检索你当前操作会造成影响记录行数和统计表种对应的记录数进行比对,如果两者相等或者你的基础统计表没有初始化记录数,则回滚事务。然后,触发器承担着更新统计表对应记录数的职责。
1.创建一个统计表,用来记录你的行记录,比如我的表名叫“T_WS_FUNC_FORBIDDELTABLE”,字段包含TABLENAME(varchar),NUM_RECORD(bigint),TIME_CHANGE(datetime)。TABLENAME存储你的关键业务表名,NUM_RECORD表示关键业务表的记录数。
2.创建如下触发器,详情见代码注释。
2.触发器 实现具体代码
USE [ASRS_ZZ_ZT_1]
GO
/****** Object: Trigger [dbo].[TR_TRANS_A_DI_LPT] Script Date: 2019/4/11 0:09:39 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--Date:2019-4-10,2019-4-11
--Author:LJS,LJS
--Description: 1.禁止数据表[T_TRANS_LOG_PALLETID_TRACK]删除全部数据记录;
-- 2.记录删除/插入操作后,[T_TRANS_LOG_PALLETID_TRACK]表的数据行数;
CREATE TRIGGER