触发器怎么写?

悬赏分:20|
请问触发器怎么写呢? 我刚学oracle,很多东西都不懂
知识库标签: 触发器   |列兵
所谓触发器就是自动触发执行,这就是他的用处!
触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。
触发器可通过数据库中的相关表实现级联更改;不过,通过级联引用完整性约束可以更有效地执行这些更改。触发器可以强制比用 CHECK 约束定义的约束更为复杂的约束。与 CHECK 约束不同,触发器可以引用其它表中的列。例如,触发器可以使用另一个表中的 SELECT 比较插入或更新的数据,以及执行其它操作,如修改数据或显示用户定义错误信息。触发器也可以评估数据修改前后的表状态,并根据其差异采取对策。一个表中的多个同类触发器(INSERT、UPDATE 或 DELETE)允许采取多个不同的对策以响应同一个修改语句。
触发器的(简略)写法:
SqlServer下:
CREATE TRIGGER trigger_name
ON

AS
[ IF UPDATE ( column ) [ UPDATE ( column ) ]
sql语句;
下面展现一个insert触发器
create trigger tr_COMMISSIONINFO_INSERT on COMMISSION_INFO_
for insert
as
begin
declare @COMMISSIONID varchar(20),@DATE datetime
set @COMMISSIONID=(select ID_ from INSERTED)
set @DATE=getdate()
insert into COOPERATE_YEARS_(COMMISSION_ID_, CONTRACT_START_DATE_, RE_CONTRACT_START_DATE_) VALUES(@COMMISSIONID, @DATE, @DATE)
end
希望我的回答对你有所帮助,祝你好运!
为最佳答案评分?
100% (1)
不好 0% (0)
(目前有 1 个人评价)

我来回答这个问题

立即登陆回答获取会员积分,提高用户级别
友情链接:
Copyright © 商名网 All Rights Reserved.