zoukankan      html  css  js  c++  java
  • 两个数据表同步的触发器

    假如有两个表,TableName1和TableName2,

    两个表字段相同,都是有一个fID(TableName1表为标识,自动+1,TableName2表设置为普通字段),

    和一个varchar类型的content两个字段。

    现在要实现TableName2作为TableName1的备份,对TableName1的所有修改(增、删、改)都要对TableName2同时生效。


    可以使用以下触发器


    CREATE TRIGGER TableName1_SNY_TO_TableName2 ON TableName1

    FOR INSERT, UPDATE, DELETE 

    AS   

      delete TableName2 where fID in (select fID from deleted)   

      insert TableName2 select * from inserted  

    GO

    即可保证同步两个表的内容。

    关键字: 如何自增字段中插入指定值
    sqlserver 批量插入记录时,对有标识列的字段要设置 set IDENTITY_INSERT 表名 on,然后再执行插入记录操作;插入完毕后恢复为 off 设置 

    格式: 
      set IDENTITY_INSERT 表名 on 
      set IDENTITY_INSERT 表名 off
     

    举例: 

    set IDENTITY_INSERT peoplePworkpositiontype  on 
    insert peoplePworkpositiontype(id,workpositiontype,workpositiontypeid) values(1 , '平台' , 1 ) 
    insert peoplePworkpositiontype(id,workpositiontype,workpositiontypeid) values(2 , '陆地' , 2 ) 
    insert peoplePworkpositiontype(id,workpositiontype,workpositiontypeid) values(3 , '海上' , 3 ) 

    go 
    set IDENTITY_INSERT peoplePworkpositiontype  off 


    set IDENTITY_INSERT peoplePstatetype  on 
    insert peoplePstatetype(id,nowstatetype,nowstatetypeid) values(1 , '出海' , 1 ) 
    insert peoplePstatetype(id,nowstatetype,nowstatetypeid) values(2 , '出差' , 2 ) 
    insert peoplePstatetype(id,nowstatetype,nowstatetypeid) values(3 , '公司' , 3 ) 
    insert peoplePstatetype(id,nowstatetype,nowstatetypeid) values(4 , '会议' , 4 ) 
    go 
    set IDENTITY_INSERT peoplePstatetype  off 
    go  

  • 相关阅读:
    数据持久化
    搜索样式键盘的Return按钮是否可点击
    活动指示器
    在本机上安装zabbix,来监控服务器 二
    在本机上安装zabbix,来监控服务器 一
    关于cacti的相关问题
    xp_cmdshell 的开启和关闭
    写代码创建数据库,设置位置后比对用可视化界面创建数据库的区别
    随机0~N之间的整数
    关于MD5密码破解
  • 原文地址:https://www.cnblogs.com/buffer/p/2184484.html
Copyright © 2011-2022 走看看