欢迎来到天天文库
浏览记录
ID:52143821
大小:176.00 KB
页数:23页
时间:2020-04-01
《学习教学教案第11章存储过程.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十一章存储过程与触发器存储过程部分本章重点和难点重点存储过程的含义和作用创建和调用存储过程的语句格式根据要求创建和调用存储过程难点根据要求创建和调用存储过程11.1存储过程(StoredProcedure)存储过程:是一组为了完成特定功能的SQL语句,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行。是独立的数据库对象。有以下优点:1、执行速度快,减少网络传输量;2、增强安全机制;3、规范程序设计。CREATEPROCEDUREproc_students@snochar(10)ASSELECTs
2、tudents.sno,sname,sc.cno,cname,gradeFROMstudentsinnerjoinsconstudents.sno=sc.snoinnerjoincourseonsc.cno=course.cnoWHEREstudents.sno=@sno该存储过程的含义:根据学生的学号,查询该学生的选课情况。执行存储过程proc_students显示学号为“0311101”学生的情况。语法:EXECproc_students'0311101'存储过程分类系统存储过程:存储于MASTER数据库中并以SP_为前缀,用来从系统表中
3、获得信息。用户自定义的存储过程由用户创建并能完成特定功能的存储过程。用户定义的存储过程必须创建在当前的数据库中。11.2使用T-SQL语言管理存储过程1、创建存储过程语法:CREATEPROC[EDURE]procedure_name[;number][{@parameterdate_type}[=default]][,…n][with{RECOMPLE
4、ENCRYPTION
5、}]ASsql_statement[,…n]参数说明:Procedure_name:指定存储过程的名称;@parameterdate_type[=default]:指定
6、存储过程的参数。Parameter为参数名称,date_type参数的数据类型,[=default]用于指定参数的默认值。默认值必须是常数或空值。[with{RECOMPLE
7、ENCRYPTION
8、}]:RECOMPLE指定每执行一次存储过程都要重新编译,ENCRYPTION表示SQLServer加密ASsql_statement:过程中要包含的T-SQL语句。建立存储过程proc_stu。查询03物流1和03物流2入学总分在200-300之间的学生姓名。CREATEPROCEDUREproc_stuASSELECTsnameFROMStud
9、entsWHERE(mgradebetween200and300)and(class='03物流1'orclass='03物流2')新建的存储过程通过语法检查后,它的名字会存放在master数据库的sysobjects表,通过下列语句,可以避免建立同名存储过程的冲突。ifexists(selectnamefromsysobjectswherename='proc_students'andtype='p')dropprocedureproc_studentsifexists(selectnamefromsysobjectswherename='
10、proc_students'andtype='p')dropprocedureproc_studentsCREATEPROCEDUREproc_stuASSELECTsnameFROMStudentsWHERE(mgradebetween200and300)and(class='03物流1'orclass='03物流2')2、执行存储过程语法:[EXEC[UTE]]{[@return_status=]procedure_name[[@praameter=]{value
11、@variable[OUTPUT
12、DEFAULT]}][,…n][WITH
13、RECOMPILE]如:Execproc_stu创建存储过程p_xkxs,要求该存储过程列出选修了‘计算机基础’的学生的学号。CreateProcedurep_xkxsasSelectsnoFromscWherecno=(selectcnofromcoursewherecname='计算机基础')Execp_xkxs查看存储过程使用系统表查看JXGL数据库中名称为p_xkxs的存储过程定义信息selecttextfromsyscommentswhereidin(selectidfromsysobjectswherename='p_xkxs'a
14、ndxtype='p')创建带输入参数的存储过程根据学生的学号,查询该学生的选课情况。CREATEPROCEDUREproc_students@snochar(10
此文档下载收益归作者所有