一张表同时建立触发器update和insert,如何判定执行条件
对一张表做两个触发器,分别是update和insert;
Insert的条件是目标表不存在源表的主键,则将一整行数据插入;
如果目标表存在源表的主键,且timestamp发生变化,则说明应该进行update操作,
Update发生改变的数据至目标表
Insert的条件是目标表不存在源表的主键,则将一整行数据插入;
如果目标表存在源表的主键,且timestamp发生变化,则说明应该进行update操作,
Update发生改变的数据至目标表
create trigger trig_insert_transMore
on transMore
for insert
as
if((transMore.priID)<>(transInfo.priID))
begin
insert into transInfo(priID,cardID,transType,transMoney )select priID,cardID,transType,transMoney from inserted
endcreate trigger trig_update_transMore
on transMore
for update
as
if update(transDate)
--此处的判定条件该如何写,判断(transMore.priID)=(transInfo.priID),且transDate发生了改变
declare @temp_transMoney money,@temp_priID nchar(10),@temp_cardID nchar(10),@temp_transType nchar(10)
select @temp_transMoney=transMoney,@temp_priID=priID ,@temp_cardID=cardID,@temp_transType=transType from inserted
update transInfo
set
transMoney=@temp_transMoney,cardID=@temp_cardID,transType=@temp_transType
where priID=@temp_priID
go
...全文
相关推荐
SQL Server 触发器 表的特定字段更新时,触发Update触发器
在SQL Server中,触发器是一种数据库对象,它允许在数据更改(INSERT、UPDATE或DELETE)时执行自定义的SQL代码。
MySQL触发器 Update触发Insert失败
MySQL触发器是一种数据库对象,它允许在特定的数据库操作(如INSERT、UPDATE或DELETE)发生时自动执行预定义的SQL语句。
关于oracle触发器before和after的应用问题
这些事件通常包括对数据库表的INSERT、UPDATE和DELETE操作,以及数据库的启动与关闭等系统事件。
sql update 触发器 可获得被update的行的信息
在标题和描述中提到的`sql update 触发器`,其核心功能是监控并响应对指定表的UPDATE操作。触发器的主要目的是为了实现数据的完整性、业务规则的强制执行或审计跟踪。
SQL触发器的使用及语法
触发器可以用来实现业务逻辑的自动化、数据的完整性和一致性、数据的安全性等方面的控制。何为触发器?在 SQL Server 中,触发器就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。


