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  

  • 相关阅读:
    jekins 实现Django项目的自动部署(ubuntu16.04,python2.7,django1.11)
    Ubuntu16.04 安装 Django
    小米笔记本 air 12.5寸 支持硬盘参数
    editplus5激活码
    jmeter UDV
    c语言 快速排序
    html禁止文本输入框记录输入记录,单击input出现输入过的记录
    python pstats ,profile 性能分析
    python profile性能分析
    python 获取本地语言和编码的代码
  • 原文地址:https://www.cnblogs.com/buffer/p/2184484.html
Copyright © 2011-2022 走看看