实验7存储过程和触发器.pdfVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

实验7存储过程和触发器

1.实验目的

(1)掌握通过SQLServer管理平台和Transact-SQL语句CREATEPROCEDURE创建存

储过程的方法和步骤。

(2)掌握使用Transact-SQL语句EXECUTE执行存储过程的方法。

(3)掌握通过SQLServer管理平台和Transact-SQL语句ALTERPROCEDURE修改存储

过程的方法。

(4)掌握通过SQLServer管理平台和Transact-SQL语句DROPPROCEDURE删除存储

过程的方法。

(5)掌握通过SQLServer管理平台和Transact-SQL语句CREATETRIGGER创建触发

器的方法和步骤。

(6)掌握引发触发器的方法。

(7)掌握使用SQLServer管理平台或Transact-SQL语句修改和删除触发器。

(8)掌握事务、命名事务的创建方法,了解不同类型的事务的处理情况。

2.实验内容及步骤

请先附加studentsdb数据库,然后完成以下实验。

(1)在查询设计器中输入以下代码,创建一个利用流控制语句的存储过程

letters_print,该存储过程能够显示个小写字母。

答:

(2)输入以下代码,创建存储过程stu_info,执行时通过输入姓名,可以查询该姓名对

应的学生的各科成绩。

语句:

CREATEPROCEDUREstu_info

@namevarchar(40)=刘卫平--将@name值设为默认值刘卫平

AS

答:

请完善

执行

EXECstu_info

EXECstu_info马东

(3)使用系统存储过程sp_rename将存储过程stu_grade更名为stu_g。

答:

(4)使用grade表。

①创建一个存储过程stu_g_r,当输入一个学生的学号时,通过返回输出参数获取该学生

各门课程的平均成绩。

②执行存储过程stu_g_r,输入学号0002。

③显示0002号学生的平均成绩。

语句:

--select*fromgrade

CREATEPROCEDUREstu_g_r

@sidchar(4),

答:

请完善

AS

答:

请完善

执行

DECLARE@pointdecimal(3,1)

EXECstu_g_r0002,@pointoutput

select@point各门课程的平均成绩

(5)使用Transact-SQL语句DROPPROCEDURE删除存储过程stu_g_r。

答:

(6)输入以下代码,复制student_info表命名为stu2,为stu2表创建一个触发器

stu_tr,当stu2表插入一条记录时,为该记录生成一个学号,该学号为学号列数据的最

大值加。

语句:

--复制student_info表命名为stu2

SELECT*INTOstu2FROMstudent_info

GO

--为stu2表创建一个INSERT型触发器stu_tr

CREATETRIGGERstu_tr

ONstu2FORINSERT

AS

DECLARE@maxchar(4)

SET@max=(SELECTMAX(学号)FROMstu2)

SET@max=@max+1

UPDATEstu2SET学号=REPLICATE(0,4-len(@max))+@max--replicate(要重

复的字符,重复的次数)

FROMstu2INNERJOINinsertedonstu2.学号=inserted.学号

select*fromstu2

执行以上代码,查看studentsdb数据库中是否有stu2表,展开stu2,查看其触发器项

中是否有stu_str触发器。

在查询设计器的编辑窗口输入以下代码:

INSERTINTOstu2

文档评论(0)

158****5170 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档