网上有很多触发器的例子,但表之间都是没有主外键约束的,下面做一个例子实现带有主外键约束的触发器。
现有两张表:部门表(department) deNum int primary key --部门编号
deName nvarchar(50) --部门名称
员工表(employee) emNum int primary key --员工编号
deNum int foregin key
references department(deNum)--所属部门
需求:当更新主表的部门编号时(当然实际中,我们通常是不会去更新这个字段的)同时更新从表的所属部门编号。我们用触发器实现:
create trigger tri_updateDeNum
on department
for update
as
begin
declare @oldid int,
@newid int
select @oldid=deNum from deleted--获得更新前的id
select @newid=inserted.deNum from department,inserted where department.deNum=inserted.deNum--获取更新后的id
--if(@oldid is null)--判断oldid是否已经取到
--print('@oldid is null')
--if(@newid is null) 判断newid是否已经取到
--print('@newid is null')
if(@oldid is null) or (@newid is null) or(@oldid=@newdi)
--print('failture')
return
--更新从表
update employee set deNum=@newID where deNum=@oldID
end
分享到:
相关推荐
内包含外键约束模式,数据库的视图基本操作
最近在做数码相框上的嵌入式开发,开发过程中使用的SQLite数据库,但是编码的过程中,遇到个问题,SQLite不支持外键约束,外键约束会被解析但不会被执行。
禁用、启用外键约束和触发器
Server触发器创建、删除、修改、查看示例、SQL_Server基本函数、经典SQL语句大全_主外键_约束、如何启动和停止 SQL Server Browser 服务、在SQL_Server中重新编译存储过程、SQL_Server中如何写存储过程、SQL_Server_...
SqlServer数据库字典--表.视图.函数.存储过程.触发器.主键.外键.约束.规则
触发器9.18触发器9.18触发器9.18触发器触发器9.18触发器9.18触发器9.18触发器
查看数据库中已有触发器、约束和索引并获得相应脚本
SQL Server中约束与触发器差异比较.pdf
3、 在表或视图上,每个INSERT、UPDATE或DELETE语句只能创建一个INSTEAD OF类型的触发器,无法为有外键约束且指定为级联删除或级联修改的表创建DELETE或UPDATE语句上的INSTEAD OF 类型的触发器。 SQL SERVER为每个...
修改了以前网络上错误的vhdl代码,带有异步置位复位端的上升沿触发的JK触发器并附带仿真波形图
VHDL带有异步复位的T触发器,用vhdl语言实现
本文主要讲了一下关于RS触发器与SR触发器区别有哪些,希望对你的学习有所帮助。
PHP + Mysql仓库管理系统 mysql 包含 (外键、触发器、函数、视图)
带有异步置位复位端的上升沿触发的JK触发器
基于Multisim14,绘制的JK触发器及D触发器构成计数型触发器仿真.
(1)触发器能够实施的检查和操作比主键和外键约束、CHECK约束和规则对象等更为复杂。 (2)触发器建立在表一级,它与特定的数据修改事件相对应。 触发器类型 触发器在数据库里以独立的对象存储,它与存储过程不同...
SQL DML 语句 ( INSERT、 DELETE 或 UPDATE) AFTER 指定了触发器在处理完成后触发 BEFORE 指定了触发器在处理完成前触发 默认情况下,触发器每个表触发一次 FOR EACH ROW 选项指定触发器每行触发一次(即触发器为...
PostgrelSQL触发器代替实现约束
触发器一般用在check约束更加复杂的约束上面。触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作。诸如:update、insert、delete这些操作的时候,系统会自动调用执行该表上对应的触发器。SQL Server ...
"D 触发器原理-D 触发器电路图" D 触发器是一种边沿触发器,具有接收并记忆信号的功能,又称为锁存器。它属于脉冲触发方式,不存在约束条件和一次变化现象。边沿 D 触发器的工作原理是,在 CP 高电平期间输入信号,...