第8章存储过程
存储过程的概念
存储过程的类型
创建存储过程
执行存储过程
查看、修改存储过程
删除存储过程
存储过程的概念
SQL Server的存储过程类似于其它编程语言中的函数。在使用T-SQL语言编程的过程中,可以将某些需要多次调用的实现某个特定任务的代码段编写成一个过程,将其保存在数据库中,并由SQL Server服务器通过过程名来调用它们,这些过程就叫做存储过程。
存储过程在创建时就被编译和优化,调用一次以后,相关信息就保存在内存中,下次调用时可以直接执行。
第8章
存储过程
<
>
存储过程的概念
存储过程相对于本地SQL语句,具有以下优点:
l 单个存储过程中可以执行一组相关的SQL语句;
l 存储过程能够实现较快的执行速度。只需创建过程一次并将其存储在数据库中,以后即可在程序中调用该过程任意次。因为存储过程是预编译的,在首次运行一个存储过程时,查询优化器对其进行分析、优化,并给出最终被存在系统表中的执行计划;
l 存储过程独立于程序源代码,便于单独修改;
l 存储过程能够减少网络流量。存储过程由一条执行过程代码的单独语句就可实现调用,网络中传送的只是该调用语句,而不需要在网络中发送所有相关的源代码,所以其执行时要比直接使用SQL语句快。
第8章
存储过程
<
>
存储过程的类型
系统存储过程
系统存储过程是指由SQL Server提供的存储过程,用以管理SQL Server和显示有关数据库和用户的信息。
临时存储过程
SQL Server支持两种临时过程:局部临时过程和全局临时过程。其中在过程名的前面带有#符号的表示是局部临时过程;而带有##符号的表示是全局临时过程。
远程存储过程
仅限于在远程SQL Server上执行存储过程。
扩展存储过程
扩展存储过程是SQL Server可以动态装载并执行的动态链接库(DLL)。
第8章
存储过程
<
>
创建存储过程
创建存储过程既可以使用T-SQL语句实现,也可以在企业管理器中完成。存储过程创建后,它的名称存储在系统表sysobjects中;ments中。
创建存储过程时,需要确定存储过程的三个组成部分:
l 所有的输入参数以及传给调用者的输出参数;
l 被执行的针对数据库的操作语句,包括调用其它存储过程的语句;
l 返回给调用者的状态值,以指明调用是成功还是失败。
第8章
存储过程
<
>
使用T-SQL语句创建存储过程
创建存储过程的T-SQL语句的语法为:
CREATE PROC[EDURE] procedure_name[;number]
[ { ***@parameter data_type}[VARYING] [=default] [OUTPUT] ] [,...n ]
[ WITH { PILE | ENCRYPTION | PILE, ENCRYPTION } ]
[ FOR REPLICATION ]
AS
sql_statement [ ...n ]
第8章
存储过程
<
>
使用T-SQL语句创建存储过程
【例8-1】在Educational数据库中创建一个存储过程spStuGrade_Class_term,要求返回某班某-学期所有学生的课程成绩。
CREATE PROC spStuGrade_Class_term /* 存储过程名*/
***@Para_ClassID char(8), /* 班级名,输入参数*/
***@Para_Term tinyint=1 /* 学期,输入参数,默认值为1 */
WITH ENCRYPTION /* 使用加密存放*/
AS
SELECT , , ,
FROM Grade G INNER JOIN Student S /* 按StudentID联接Student */
ON = INNER JOIN Course C /* 按CourseID联接Course */
ON = INNER JOIN Speciality_Course SC
ON = /* 按CourseID联接Speciality_Course */
WHERE =***@Para_ClassID And =***@Para_Term /* 查询
第 8章 存储过程 来自淘豆网m.daumloan.com转载请标明出处.