欢迎来到天天文库
浏览记录
ID:40829327
大小:67.00 KB
页数:9页
时间:2019-08-08
《实验八 存储过程和触发器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验八存储过程、触发器的创建和使用一.实验目的:1)了解存储过程的概念2)了解使用存储过程的特点及用途3)掌握创建存储过程的方法4)掌握执行存储过程的方法5)了解查看、修改和删除存储过程的方法6)了解触发器和一般存储过程的主要区别7)了解使用触发器的优点8)掌握创建触发器的方法9)掌握查看触发器信息的方法10)了解删除触发器的方法二.实验准备1.熟悉存储过程的使用2.熟悉触发器的使用;三.实验要求1.在实验之前做好实验准备2.完成数据库设计,并验收实验结果,提交实验报告四.实验内容实验内容及步骤:存储过程的创建和使用(一)存储过程的概念SQLSe
2、rver的存储过程类似于编程语言中的过程。在使用Transact-SQL语言编程的过程中,我们可以将某些需要多次调用的实现某个特定任务的代码段编写成一个过程,将其保存在数据库中,并由SQLServer服务器通过过程名来调用它们,这些过程就叫做存储过程。存储过程在创建时就被编译和优化,调用一次以后,相关信息就保存在内存中,下次调用时可以直接执行。(二)存储过程的优点及分类存储过程的优点:实现了模块化编程。存储过程具有对数据库立即访问的功能。使用存储过程可以加快程序的运行速度。使用存储过程可以减少网络流量。使用存储过程可以提高数据库的安全性。
3、存储过程的分类系统存储过程:系统自动创建,主要存储在master数据库中,一般以sp_为前缀。用户自定义存储过程:由用户创建并能完成某一特定功能的存储过程。(三)创建存储过程的方法使用SQLServerManagementStudio创建存储过程:在SQLServerSQLServerManagementStudio中,选择指定的服务器和数据库,右击要创建存储过程的数据库,在弹出的快捷菜单中依次选择“新建
4、存储过程…”选项。在弹出的“新建存储过程”对话框中的文本框中输入创建存储过程的T-SQL语句。1、创建一个名为StuInfo的存储过程,完
5、成的功能是在s表中查询200501班的学生的学号、姓名、性别、出生日期的内容。输入代码如下:CREATEPROCEDUREStuInfoASSELECTSNOAS学号,SNAMEAS姓名,SSEXAS性别,SAGEAS年龄FROMSWHERELEFT(SNO,6)=’200501’输入完毕单击“检查语法”按钮,进行语法检查,检查成功,系统弹出提示信息框,单击“确定”,保存该存储过程,并关闭该对话框。使用T-SQL创建存储过程使用Transact-SQL语句中的CREATEPROCEDURE命令创建存储过程。语法如下:CREATEPROC[EDUR
6、E]procedure-name[;number][{@parameterdata_type}[varying][=default][outpur]][,…n]WITH{RECOMPILE│ENCRYPTION│RECOMPILE,ENCRYPTION}][FORREPLICATION]ASsql_statement[…n]说明:procedure-name:存储过程的名称,必须唯一且符合标识符命名规则。@parameter:过程中的参数,在CREATEPROCEDURE语句中可以申明一个或多个参数。data_type:用于指定参数的数据类型。AS
7、:用于指定该存储过程要执行的操作。2、创建存储过程StuScoreInfo,完成的功能是在表s,c和sc中查询以下字段:班级、学号、姓名、性别、课程名称、考试分数。程序清单:打开student数据库usestudent--查询是否已存在此存储过程,如果存在,就删除它ifexists(selectnamefromsysobjectswherename=’StuScoreInfo’andtype=‘P’)dropprocedureStuScoreInfogo--创建存储过程creatproceureStuScoreInfoasselect班级=subs
8、tring(s.sno,1,len(s.sno)-2),s.snoas学号,snameas姓名,sexas性别,c.cnameas课程名称,sc.scoreas考试分数froms,c,scwheres.sno=sc.snoandc.cno=sc.cno3、创建一个带有参数的存储过程stu_info,该存储过程根据传入的学生编号,在t_student中查询此学生的信息。程序清单:--删除已存在的存储过程usestudentifexists(selectnamefromsysobjectswherename=‘stu_info’andtype=’P’)
9、dropprocedurestu_infogo--创建存储过程usestudentgocreateprocedurestu
此文档下载收益归作者所有