sql server存储过程和触发器操作实训讲义

sql server存储过程和触发器操作实训讲义

ID:14241123

大小:104.50 KB

页数:5页

时间:2018-07-27

sql server存储过程和触发器操作实训讲义_第1页
sql server存储过程和触发器操作实训讲义_第2页
sql server存储过程和触发器操作实训讲义_第3页
sql server存储过程和触发器操作实训讲义_第4页
sql server存储过程和触发器操作实训讲义_第5页
资源描述:

《sql server存储过程和触发器操作实训讲义》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、SQLServer存储过程和触发器操作实训一、由已给数据库文件完成下列SQL存储过程操作1、创建和执行不带参数的存储过程创建一个存储过程p1,返回所有女生信息。2、创建和执行带参数的存储过程(1)创建一个存储过程p2,返回指定系部的学生信息。(输入参数)(2)创建从sc表查询指定学生学号的总成绩的存储过程p3。(输入和输出参数)(3)创建一个名为Query_student的存储过程,该存储过程的功能是根据学号查询学生表中某一学生的姓名、系别、性别及年龄。(输入参数)执行存储过程Query_student,查询学

2、号为”9512103”的学生的姓名、系别、性别及年龄。写出完成此功能的SQL命令。3、创建和执行带输入参数的存储过程(1)创建一个能向学生表中插入一条记录的存储过程Insert_student,该过程需要5个参数,分别用来传递学号、姓名、性别、年龄、系别5个值。写出执行存储过程Insert_student的SQL语句,向学生表中插入一个新同学,并提供相应的实参值(实参值自定)。createprocedureInsert_student(@nochar(10),@namechar(8),@sexchar(2),@

3、ageint,@deptchar(10))ASbegininsertintos(sno,sname,ssex,sage,sdept)values(@no,@name,@sex,@age,@dept)endEXECInsert_student@no='9512104',@name='徐小花',@sex='女',@age=20,@dept='计算机系'(2)在课程表中添加“学分”列,类型为小整型,然后创建一个向课程表中插入一门新课程的存储过程Insert_course,该存储过程需要三个参数,分别用来传递课程号、课

4、程名、学分,但允许参数“学分”的默认值为2,即当执行存储过程Insert_course时,未给参数“学分”提供实参值时,存储过程将按默认值2进行运算。执行存储过程Insert_course,向课程表Course中插入一门新课程。分两种情况写出相应的SQL命令:第一种情况:提供三个实参值执行存储过程Insert_course第二种情况:只提供二个实参值执行存储过程Insert_course,即:不提供与参数“学分”对应的实参值。4、利用企业管理器创建一个存储过程p4,返回所有学生信息。1)进入企业管理器,分别展开

5、“服务器”,“数据库”。2)右击【存储过程】→【新建存储过程】,在弹出如图所示的对话框。3)在对话框中,直接输入下面的语句:CREATEPROCEDUREp4ASSELECT*FROMs4)单击“语法检查”按钮,检查语法错误。5)单击“确定”按钮完成存储过程的创建。5、修改存储过程p1,返回选修’c02’课程的女生信息。Alterprocp1AsSelects.sno,sname,cno,gradeFromsjoinscons.sno=sc.snoWheressex=’女’andcno=’c2’二、由已给数据库

6、文件完成下列SQL触发器操作1、创建一个当学生表中插入一个新同学信息时能自动列出全部同学学生信息的触发器Display_trigger【参考代码】createtriggerDisplay_triggeron学生forinsertASSelect*from学生2、调用实验一(3)创建的存储过程Insert_student,向学生表中插入一新同学,看触发器Display_trigger是否被执行。【参考代码】EXECInsert_student@stuno='200602011',@name='张丽丽',@sex=

7、'女',@class=3,@birthday='1988-2-15'三、练习和管理触发器。(1)建立数据库testdb,并在数据库中建立两个表:Txl(IDint,Namechar(10),Ageint)Person_counts(Person_countint)(2)使用T-SQL编写一个触发器tr_person_ins,每当txl表中插入一行数据时,表Person_counts中对应的数量也相应地发生变化。【参考代码】createtriggertr_person_insontxlforinsertAS--必

8、须将字段Person_count的初始值输入0UPDATEPerson_countsSETPerson_count=Person_count+1Select*fromPerson_counts测试触发器:inserttxlvalues(1,'AAA',15)(3)使用企业管理器创建一个触发器tr_person_del,每当txl表中删除记录时,表Person_counts中对应的数量也

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。