clwn.net
当前位置:首页 >> sql触发器 upDAtE >>

sql触发器 upDAtE

update是先delete,再insert比较inserted与deleted值就好了

INSERT: 表1 (ID,NAME)表2 (ID,NAME)当用户插入表1数据后,表2也被插入相同的数据CREATE TRIGGER TRI1ON 表1FOR INSERTASBEGIN INSERT INTO 表2 SELECT * FROM INSERTEDENDGO DELETE: 表1 (ID,NAME)表2 (ID,AGE,GENDER)当用户删除表1某条ID的数...

DECLARE @IsInsert bit, @IsUpdate bit, @IsDelete bit IF EXISTS(SELECT 1 FROM inserted) AND NOT EXISTS(SELECT 1 FROM deleted) SET @IsInsert = 1 ELSE SET @IsInsert = 0 IF EXISTS(SELECT 1 FROM inserted) AND EXISTS(SELECT 1 FROM del...

使用delete 触发器格式: CREATE trigger tri_update on tablename for delete as begin --sql code end 例: CREATE trigger tri_update on tablename1 --触发的表名 for delete as begin declare @del_id varchar(40) select @del_id = id fro...

create trigger trg_del on 表名 for update as begin update 表名 set 禁止字段=deleted.禁止字段 where exists( select * from deleted where 表名.主键=deleted.主键) --把被改动的数据重新更新回来 end

DML触发器有三类: 1, insert触发器; 2, update触发器; 3, delete触发器; 触发器的组成部分: 触发器的声明,指定触发器定时,事件,表名以类型 触发器的执行,PL/SQL块或对过程的调用 触发器的限制条件,通过where子句实现 类型: 应用程...

触发器的触发条件仅仅是数据改变操作是否执行了,即一旦执行insert、update、delete三种命令之一,就要触发。 在update触发器中,通过if update()来过滤,看看是否需要采取什么相应动作,这种逻辑正常、合理呀。

举个例子,你要插入下面的数据 insert itno table1 values(1,'a','b','c','d') 难道你的意思是在插入设个数据之前,要把里面的最后一个字段'd'改为其他值?

after触发器是在操作成功后,所采取的一些动作,而对于instead of触发器,对数据库的操作只是 一个“导火线”而已,真正起作用的是触发器里面的动作;往往这种触发器会有很多分支判断语句在里面,根据不用的条件做不同的动作触发器能处理更复杂的...

网站首页 | 网站地图
All rights reserved Powered by www.clwn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com