zoukankan      html  css  js  c++  java
  • SQL server 使用触发器跨数据库备份数据

    create database TriggerTest
    
    create table transInfo2 --交易信息表
    (
       cardID     varchar(10) not null,  --卡号
       transType  char(4)     not null,  --交易类型(存入/支取)
       transMoney money       not null,  --交易金额
       transDate  datetime    not null   --交易日期
    )
    go
    
    create database TriggerDatabase
    use TriggerDatabase
    go
    
    create table transInfo --交易信息表
    (
       cardID     varchar(10) not null,  --卡号
       transType  char(4)     not null,  --交易类型(存入/支取)
       transMoney money       not null,  --交易金额
       transDate  datetime    not null   --交易日期
    )
    go
    
    --------------- 添加测试数据 ---------------
    insert into transInfo(cardID,transType,transMoney)
            values('10000','支取',200);
    
    --------------- 查看结果 ---------------
    select * from transInfo;
    go
    
    /* 实现: 当删除TriggerDatabase数据库transInfo表中的数据时,
             自动备份被清除的数据到TriggerTest数据库中的transInfo2表中
    */
    ------------------ delete 触发器 ------------------
    use TriggerDatabase
    go
    
    if exists (select * from sysobjects 
               where name='trig_delete_transInfo')
    drop trigger trig_delete_transInfo
    go
    
    create trigger trig_delete_transInfo
    on transInfo after delete  --  for | after
    as
       -- 如果数据库中,不存在 backupTable 表
       if not exists(select * from sysobjects 
                      where name='TriggerTest.dbo.transInfo2')
          insert into TriggerTest.dbo.transInfo2 select * from deleted --deleted临时表
       else
          insert into TriggerTest.dbo.transInfo2 select * from deleted
    go
    
    ------------------ 测试触发器 ------------------
    set nocount on
    
    delete from transInfo where cardid='10000'; --测试
    
    --查看结果
    use TriggerTest
    go
    select * from transInfo2

    此方法目前只适用于在同一台的服务器上的两个数据库的情况下使用

  • 相关阅读:
    跟光磊学Python开发-面向对象入门
    插件调用下推操作
    K3Wise老单获取单据行数
    git 添加和删除 global 的 remote.origin.url
    CSV转Excel格式
    java 下载文件
    windows下安装redis并设置自启动
    linxu jdk安装
    Linux安装部署Redis
    CentOS上安装MySQL(使用国内源)
  • 原文地址:https://www.cnblogs.com/xuxw/p/3435194.html
Copyright © 2011-2022 走看看