refromdeletedselect@cj2=inserted.scorefrominsertedif(@cj2<@cj1)beginraiserror('新成绩比老成绩低,取消操作',16,1)rollbacktransactionendgo(三)查看存储过程和触发器的信息1.用sp_help查看以上建立的存储过程和触发器的基本信息sp_helptr_scgosp_helptr_updascgo2.用sp_helptext查看存储过程和触发器的代码sp_helptexttr_scgosp_helptexttr_updascgo四、思考与练习1.存储过程如何加密?Createprocedureencrypt_thisWithencryption--加密,在存储过程添加这一语句即可ASSelect*fromuser_tbGO查看存储过程储存的文本:Execsp_helptextencrypt_this下面是结果集:Theproject’scommentshavebeenencrypted.--对象已经被加密2.触发器有什么好处和坏处?使用触发器的好处:1.自动执行。触发器在对表的数据作了任何修改(比如手工输入或者应用程序的操作)之后立即被激活。2.级联更新。触发器可以通过数据库中的相关表进行层叠更改,这比直接把代码写在前台的做法更安全合理。3.强化约束。触发器可以引用其它表中的列,能够实现比CHECK约束更为复杂的约束。4.跟踪变化。触发器可以阻止数据库中未经许可的指定更新和变化。5.强制业务逻辑。触发器可用于执行管理任务,并强制影响数据库的复杂业务规则。相对于外部程序、存储过程,触发器可以更快更高效地维护数据。滥用数据库的坏处:滥用会造成数据库及应用程序的维护困难。一个大型应用里,触发器越少越好,触发器会使编程时源码的结构被迫打乱,为将来的程序修改、源码阅读带来很大不便。