SQL 通过触发器实现delete数据备份

SQL SERVER 通过触发器实现delete数据备份,触发器脚本如下:

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TRIGGER [dbo].[tgr_a_user_delete]
   ON [dbo].[A_User]
   for delete
AS
BEGIN
  if (object_id('A_UserBak', 'U') is not null)
  begin
  --存在A_UserBak,直接插入数据
  insert into A_UserBak select *,GETDATE() as DeleteTime from deleted;
  end
  else
  begin
  --不存在A_UserBak创建再插入
  select *,GETDATE() as DeleteTime into A_UserBak from deleted;
  end

END

GO

希望以上分享对初学朋友有些帮助,谢谢!
更多关注付义方技术博客:http://blog.csdn.net/fuyifang
或者直接用手机扫描二维码查看更多博文:

Author : 付义方

时间: 2024-07-29 15:50:54

SQL 通过触发器实现delete数据备份的相关文章

SQLServer 触发器 数据库进行数据备份_MsSql

复制代码 代码如下: create table test3(id int primary key not null identity(1,1),uname varchar(20),uage int); create table test3_bak(id int primary key not null identity(1,1),bid int,uname varchar(20), uage int,active char(1)); 第二步,编写备份用的触发器,只有更新或者是插入的时候才触发 复

SQLServer 触发器 数据库进行数据备份

复制代码 代码如下: create table test3(id int primary key not null identity(1,1),uname varchar(20),uage int); create table test3_bak(id int primary key not null identity(1,1),bid int,uname varchar(20), uage int,active char(1)); 第二步,编写备份用的触发器,只有更新或者是插入的时候才触发 复

《IT运维之道》——13.4 数据备份软件

13.4 数据备份软件 随着企业的变大.应用的不断变化和增多,服务器海量数据的不断增长,数据的体积变得越来越庞大.同时,各种数据的安全性和重要程度也越来越重要.在运行过程中大到自然灾害,小到病毒.磁盘故障乃至操作员意外操作失误,都会影响系统的正常运行,甚至造成这个系统完全瘫痪.数据备份的任务与意义就在于,当灾难或系统故障发生后,通过备份的数据完整.快速.简捷.可靠地恢复原有系统. 随着存储技术的发展,从DAS到SAN.NAS存储架构,备份技术由传统的网络架构备份模式发展到LAN Free Bac

《IT运维之道》一13.4 数据备份软件

13.4 数据备份软件 随着企业的变大.应用的不断变化和增多,服务器海量数据的不断增长,数据的体积变得越来越庞大.同时,各种数据的安全性和重要程度也越来越重要.在运行过程中大到自然灾害,小到病毒.磁盘故障乃至操作员意外操作失误,都会影响系统的正常运行,甚至造成这个系统完全瘫痪.数据备份的任务与意义就在于,当灾难或系统故障发生后,通过备份的数据完整.快速.简捷.可靠地恢复原有系统. 随着存储技术的发展,从DAS到SAN.NAS存储架构,备份技术由传统的网络架构备份模式发展到LAN Free Bac

Oracle中用于数据备份的触发器及表结构

运行本文的示例前,请对当前的数据表的插入.删除.更新等进行记录,并把操作日期.操作者.原来数据.现在数据都作为备份,以便在当前备出现问题的时候能够给以恢复. 注释:最好把备份表放在不同的磁盘上或不同的数据库中: 1.建立用于数据备份及操作记录的表: CREATE TABLE AUD_PRGAMD1( W_ROWID VARCHAR2(50), --行ID W_ACTION VARCHAR2(1), --操作 DTTM DATE, --操作日期 OPUSER VARCHAR2(30), --操作者

sqlserver-求一个sql的触发器统计数据

问题描述 求一个sql的触发器统计数据 小弟最近在做个小项目,有三张表,部门表,办公室表,人员表,统计表,结构是部门下有多个办公室,每个办公室有自己的成员,我想实现个触发器,统计每个部门的人数,比如男的有多少,女的有多少,然后保存在统计表中,添加和删除用户的时候更新统计表 部门表dpartment:did,dname 办公室表office:oid,did,oname 用户表user:uid,oid,usex,uname 统计表 statistics:sid,did,man,women 解决方案

SQL 触发器批量删除数据

问题描述 SQL 触发器批量删除数据 有A主表,B表为临时表两个表,两个表的结构完全相同,主键分别为ch_billno,ch_tableno,ssid,我想做一个触发器,当A表插入主键数据时,把临时表中存在相同主键的数据删除,插入数据的时候会用到sqlbulkcopy方式插入,只会引发一次insert操作. 解决方案 亲测可用, 楼主速速采纳吧, 呵呵 --1. 创建测试表 A,B 及测试数据 IF OBJECT_ID('dbo.A') IS NOT nuLL BEGIN DROP TABLE

SQL Server触发器insert update delete示例

·只有inserted表有数据时,当前操作为insert: ·inserted和deleted两张表都有数据时,当前操作为update: ·只有deleted表有数据时,当前操作为delete. 创建触发器用 CREATE TRIGGER  代码如下 复制代码 CREATE TRIGGER 触发器名称 ON 表名 FOR INSERT.UPDATE 或 DELETE AS nserted.deleted 这是两个虚拟表,inserted 保存的是 insert 或 update 之后所影响的记录

[Sql server]数据备份的三个恢复模型

在SQL Server 2000中,有无数种备份数据库的方法.无论你的数据库有多大.改变是否频繁,都有满足你的要求的备份策略.让我们看看几种可以在不同环境下工作的基本备份策略. 本文假定你有备份数据库的权限.也就是说,你要么是系统管理员,要么是db_owner或者backupadministrator.还有,我们还假定你的操作系统提供了访问备份所需要的资源的权利,例如,访问磁盘或者磁带驱动器. 从哪儿开始 在你开始备份一个SQL Server数据库之前,你需要知道该数据库使用了哪个恢复模型.这里