6103113049____王国强____触发器

时间:2024.3.2

南昌大学实验报告

学生姓名: 王 国 强 学 号: 6103113049 专业班级: 计科132 实验类型:■ 验证 □ 综合 □ 设计 □ 创新 实验日期: 实验成绩: 实验项目名称: 触发器

实验目的和要求:

(1) 理解触发器的触发过程和类型。

(2) 掌握创建触发器的方法。

(3) 掌握查看触发器的方法。

(4) 掌握修改触发器的方法。

掌握删除触发器的方法。

实验内容、实验过程、所遇问题及其解决方法

实验内容:

针对实验数据库SHIYAN,完成以下相关触发器操作任务:

(1) 利用Transact-SQL语言为S表建立一个名为s_insert的insert触

发器,通过s_insert触发器以保证向S表中插入记录时status字段值要以1、2、3、4或5字符打头。

如果插入的记录的status字段值不是以1、2、3、4或5字符打头的,则拒绝插入该记录,并且输出提示信息“status字段值不是以1、2、3、4或5字符打头的!”

实现语句:

create trigger s_insert

on s

for insert

as if(select count(*) from inserted

where status like '[1,2,3,4,5]%')=0

begin

print 'status字段不是以1,2,3,4,5字符打头的!'

rollback transaction

end

(2) 利用“企业管理器”为P表建立一个名为P_weight的update

触发器,通过P_weight触发器以保证修改P表中数据时,限制weight字段的值在1000以内。如果修改后的记录的weight字段值超过了1000,则拒绝修改记录,并却输出提示信息“当前被修改的记录的weight字段值不在1000之内,请重新给定该字段值。”,否则可以修改记录,并且输出提示信息“当前被修改的记录的weight字段值满足要求,完成修改操作。”。

实现语句:

create trigger p_weight

on p

for update

as if(select count(*) from inserted

where weight>1000)>0

begin

print '当前修改的weight字段不在1000以内,请重新输入字段值'

rollback transaction

end

else

print '当前修改记录的weight值满足要求,成功完成修改操作'

更新结果:

(3) 利用Transact-SQL语言为J表建立一个名为j_delete的delete触

发器,通过j_delete触发器保证在删除工程项目表J中记录时,该待删除记录的SPJ表中存在引用关系,并且对应的引用关系记录的供应数量QTY值不少于50,

6103113049王国强触发器

则不能删除该工程项目记录,

输出提示信息“不满足删除要求。”;否则可以删除,输出提示信息“相应的工程项目信息已经成功删除。”。

实现语句:

create trigger j_delete

on j

for delete

as if(

select count(*)

from inserted,spj

where inserted.jno=spj.jno and spj.qty>50)>0

begin

print '不满足删除条件'

rollback transaction

end

else

print '相应的工程项目已经删除'

运行结果:

(4) 利用Transact-SQL语言修改触发器s_insert,修改后的s_insert

触发器能保证在修改S表中数据记录时s_insert字段值不可以修改。

实现语句:

alter trigger s_insert

on s

for update

as if(select count(*) from inserted,s

where inserted.status=s.status)>0

begin

print 'status字段不是以1,2,3,4,5字符打头的!'

rollback transaction

end

(5) 将触发器s_insert的名称更改为s_insert_update。

执行语句:

6103113049王国强触发器

exec sp_rename 's_insert','s_status_update'

(6) *查看数据表P中所有的inserted触发器,并观察其执行结果。 执行语句:

exec sp_helptrigger p,inserted;

结果:

(7) *查看触发器就j_delete的定义文本。

执行语句:

exec sp_helptext 'j_delete'

结果:

(8) *查看触发器p_weight的所有者和创建日期。

exec sp_help 'p_weight'

结果:

(9) *分别利用“企业产管理器”和SQL语言删除触发器

s_status_update。

SQL删除

6103113049王国强触发器

6103113049王国强触发器

6103113049王国强触发器

drop trigger s_status_update

实验总结及心得体会:

这次的实验相比以前的要难一点,但只要多查课本还是可以找到实验中的部分答案的。

6103113049王国强触发器

更多相关推荐:
毛泽东名言名句大全

毛泽东名言名句大全20xx0607002011转载标签杂谈哪里有压迫哪里就有反抗毛泽东名言名句大全是本站收集的一些经典的名言有时候一句名言可以改变人的一生希望哪里有压迫哪里就有反抗毛泽东名言名句大全可以对你有所...

名言名句

茅盾名言名句茅盾名言名句1在命运的网里人们的努力是不一定有怎样多的成效如所预期可是这命运观又和自然派的命运论有些不同这命运观里很含着奋斗不懈的精神2过去的让它过去永远不要回顾未来的等来了时再说不要空想我们只抓住...

名言警句

一依法行政司法体制是维护社会公平正义的重要制度保障政法公正廉洁是政府公正廉洁的重要内容要加强民主就要加强法制宪法和法律是党的主人民意志相统一的体现依法治国是社会主义民主政治的基本要求坚持党的领导同坚持依法治...

申论名言警句

申论名言警句1水有源故其流不穷木有根故其生不穷宋胡宏释义水因为有源头所以其流才没有穷尽树木因为有根所以生长才没有穷尽2大鹏之动非一羽之轻也骐骥之速非一足之力也汉王符释义大鹏的冲霄飞翔不是靠一根羽毛的轻捷骏马的疾...

关于人际关系的名言警句

关于人际关系的名言警句严以律已宽以待人人无完人金无足赤quot集众思广忠益quotquot人心齐泰山移quot以责人之心责已以恕已之心恕人成人之美仁者爱人宽则得众横眉冷对千夫指俯首甘为孺子牛鲁迅解铃还需系铃人投...

体育名人名言

1生命需要运动希腊哲学家亚里士多德2运动太多和太少同样的损伤体力饮食过多与过少同样的损伤健康唯有适度可以产生增进保持体力和健康亚里士多德3运动是一切生命的源泉达芬奇4运动是健康的源泉也是长寿的秘诀马约翰5教育上...

文学教父易白经典语录

文学教父易白经典语录文学教父笔名易白本名王增弘19xx年4月25日男出生于中国广东汕头是从军队退役的一个博学者20xx年易白创办了中国首个视觉类原创文学门户网站5星文学网和旗下子品牌5星诗词网5星散文网并设立了...

关于读书的名人名言精选

关于读书的名人名言精选1为中华崛起而读书周恩来2知识的问题是一个科学的问题来不得半点的虚伪和骄傲决定地需要的倒是其反面诚实和谦逊的态度毛泽东3读书不知要领劳而无功张之洞4读书不必求多而要求精这是历来读书人的共同...

经典的读书名言_适合小学生

1行万里路读万卷书2书山有路勤为径学海无涯苦作舟3读书破万卷下笔如有神4我所学到的任何有价值的知识都是由自学中得来的达尔文5少壮不努力老大徒伤悲6黑发不知勤学早白首方悔读书迟颜真卿7宝剑锋从磨砺出梅花香自苦寒来...

关于读书的名人名言

关于读书的名人名言1敏而好学不耻下问孔子2业精于勤荒于嬉行成于思毁于随韩愈3学而不思则罔思而不学则殆孔子4知之者不如好之者好之者不如乐之者孔子5三人行必有我师也择其善者而从之其不善者而改之孔子6兴于诗立于礼成于...

关于读书的名言警句

书籍是人类进步的阶梯书到用时方恨少少壮不努力老大徒伤悲少年不知勤学苦老来方悔读书迟书读百遍其义自见旧书不厌百回读熟读深思子自知书山有路勤为径学海无涯苦作舟读书破万卷下笔如有神读书就应像饥饿的人扑在面包上一样书是...

有关读书的词语或名人名言

有关读书的词语孜孜不倦不耻下问悬梁刺骨废寝忘食循序渐进日积月累温故知新勤能补拙笨鸟先飞学无止境学海无涯滴水穿石发奋图强开卷有益悬梁刺股凿壁借光囊萤映雪持之以恒夜以继日全神贯注聚精会神一丝不苟专心致志锲而不舍持之...

强国名言(0篇)