1、1 实验4存储过程和触发器应用实验内容 创建存储过程 执行存储过程 修改存储过程 删除存储过程 创建触发器 激活触发器 修改触发器 删除触发器 实验目的 掌握创建存储过程 执行存储过程 修改存储过程和删除存储过程的方法 掌握创建触发器 激活触发器 修改触发器和删除触发器的方法 2 实验过程 一 存储过程1 创建及执行存储过程1 创建存储过程pc1035 title 查看pc1035图书的情况 包括书号 书名 作者号 类型和价格usePubsgocreateprocpc1035 titleasselecttitles title id title au id type pricefromtitl
2、es titleauthorwheretitles title id titleauthor title idandtitles title id pc1035 Go执行 execpc1035 title或pc1035 title 3 2 查询指定书号的图书情况usepubsgocreateprocbook title t idvarchar 6 Asselect t idastitle id title au id type pricefromtitles titleauthorwheretitles title id titleauthor title idandtitles title
3、id t idexecbook title pc1035 或execbook title t id pc1035 4 3 创建存储过程book price 获得某本书的价格 price 总额usepubsgocreateprocbook price t idvarchar 6 pricesummoneyoutputasselect pricesum sum price fromtitleswheretitle id t idGodeclare pricesummoneyexecbook price bu1032 pricesumoutputselect theresuctis pricesum
4、 5 2 修改存储过程alterproc存储过程名称AsSQL语句3 删除存储过程dropprocpc1035 title4 查看存储过程sp helptext存储过程名查看存储过程的文本信息sp help存储过程名查看存储过程的一般信息 6 4 2触发器1 创建及激活触发器uselwzzgocreatetriggeriddelete1oninffordeleteasdeletefromicwheresidin selectsidfromdeleted deletefrominfwheresid 1 deletefrominfwheresid 2 7 2 修改触发器Altertrigger触发
5、器名称OntableFordelete update insertAssql语句3 删除触发器Droptrigger4 管理触发器sp helptext sp help sp depends查看触发器有关信息 sp rename为触发器更名sp helptrigger表名 type type是触发器的类型取值范围 分别是insert update delete 8 练习1 在pubs数据库中创建一个名为proc test的存储过程 执行的功能是从authors和titles表里查询出作者的信息以及该作者所写的所有书的信息 UsepubsGoCreateprocproc test au idva
6、rchar 11 Asselecttitles authors fromtitles authorswheretitle idin selecttitle idfromtitleauthorwhereau id au id andau id au id 9 2 建立一个存储过程级联修改pubs数据库的authors titleauthor两张表 当用户修改authors表中的au id后 修改titleauthor表中对应的数据 使用存储过程UsepubsGoCreateprocproc test2 id1varchar 11 id2varchar 11 Asupdateauthorssetau id id2whereau id id1updatetitleauthorsetau id id2whereau id id1 使用触发器usepubsgocreatetriggerproc test3onauthorforupdateasupdatetitleauthorsetau id selectau idfrominserted whereau id selectau idfromseleteed