两个数据表同步的触发器

假如有两个表,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  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值