论坛首页 Java企业应用论坛

触发器(trigger)

浏览 4510 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-12-17  
//判断TestTrigger 为名字的触发器在数据库中是否存在。
use pubs
go
if exists (select name from sysobjects where name='TestTrigger')
drop trigger TestTrigger

go
//创建TestTrigger 的触发器
create trigger  TestTrigger
on employee
for update
as
//声明 msg 的变量
declare @msg varchar(200)

select @msg=str(@@rowcount)+'行被更新'

print @msg

return
go

//执行一个UPDATE 语句
update  employee set job_id='13' where emp_id='PMA42628M'

====================
运行效果:


        1行被更新

(所影响的行数为 1 行)
   发表时间:2008-12-17  
触发器在数据库操作时,有时是可以提供很多方便之处,不过建议还是少用,例如并发量大的话会极大的降低效率,特别是一个触发器操作了多个表还包含业务的话,那样会降低数据库的性能,而且有可能会导致死锁。还有最好不要用sql写太多的业务逻辑。
0 请登录后投票
   发表时间:2008-12-18  
LZ这帖子想说明什么?


btw:mssqlserver恶心的go
0 请登录后投票
   发表时间:2008-12-18  
触 发 器固然很好,但在数据库移植方面却表现的不是很好。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics