触发器代码(更新表A数据自动更新表B字段列)

 

表A

=================

id             字段名

1               ft1

2               ft2

 

 

表B

=================

/id        ft1        ft2   ...

 

 

Create Trigger Tri_test On t1
After
insert ,update, delete
As
Begin
  
Declare @new varchar(10),@old varchar(10),@s varchar(100)
  
Select @new=field From inserted
  
Select @old=field From deleted
  
--新增情况
   IF Not Exists(Select 1 From syscolumns Where id=object_id(t2) and name=@new)
  
Begin
     
Set @s='Alter table t2 add '+@new+' varchar(10)'
     
exec(@s)
  
End
  
--更新情况
   IF EXISTS(Select 1 From syscolumns Where id=object_id(t2) and name=@old)
  
Begin
     
Set @s='Alter table t2 alter column '+@new+' varchar(10)'
     
Exec(@s)
  
End
  
--删除
   IF EXISTS(Select 1 From syscolumns Where id=object_id(t2) and name=@old)
  
Begin
     
Set @s='Alter table t2 drop column '+@old
     
Exec(@s)
  
End
End

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值