存储过程、触发器和游标

存储过程、触发器和游标

ID:44418612

大小:1.00 MB

页数:98页

时间:2019-10-21

存储过程、触发器和游标_第1页
存储过程、触发器和游标_第2页
存储过程、触发器和游标_第3页
存储过程、触发器和游标_第4页
存储过程、触发器和游标_第5页
资源描述:

《存储过程、触发器和游标》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第9章存储过程、触发器和游标课程描述本章将介绍SQLServer2000中3个常用的对象,即存储过程、触发器和游标。使用SQLServer2000开发数据库应用系统时,会经常用到这些对象。本章知识点存储过程触发器游标概述9.1存储过程使用Transact-SQL程序时,可用如下两种方法存储和执行程序:可以在本地存储程序,并创建向SQLServer发送命令并处理结果的应用程序。也可以将程序在SQLServer中存储为存储过程,创建执行存储过程及处理结果的应用程序。9.1.1存储过程概述存储过程是Transact-SQL语句的预编译集合,

2、这些语句在一个名称下存储并作为一个单元进行处理。使用SQLServer中的存储过程而不使用存储在客户计算机本地的Transact-SQL程序包括如下的优势:1.允许模块化程序设计2.可以更快地执行3.减少网络流量4.可作为安全机制使用9.1.2创建存储过程1.使用CREATEPROCEDURE语句2.使用企业管理器中的菜单命令1.使用CREATEPROCEDURE语句CREATEPROCEDURE语句的作用是创建存储过程。它的语法结构如下:CREATEPROC[EDURE]存储过程名[{@parameterdata_type}[VAR

3、YING][=default][OUTPUT]]ASSQL语句[...n]【例9.1】创建存储过程IncreaseWage,它的功能是将表EmpInfo中所有员工的工资数据增加10%,具体语句如下:USEHrSystemGOCREATEPROCEDUREIncreaseWageASUPDATEEmpInfoSETWage=Wage*1.1GO2.使用企业管理器中的菜单命令在企业管理器中,展开要创建存储过程的数据库,例如本书使用的数据库HrSystem。右击“存储过程”节点,然后单击“新建存储过程”命令,打开新建存储过程对话框。9.1.

4、3执行存储过程使用Transact-SQL语言的EXCUTE语句可以执行存储过程。EXCUTE语句的语法结构如下:[[EXEC[UTE]]{[@return_status=]{<存储过程名>

5、@procedure_name_var}[[@parameter=]{value

6、@variable[OUTPUT]

7、[DEFAULT]}[,...n][WITHRECOMPILE]【例9.2】执行存储过程IncreaseWage,并查看执行结果,具体语句如下:USEHrSystemGOEXECIncreaseWageSELECT*FROMEmp

8、InfoGO9.1.4存储过程的参数在定义存储过程时,可以同时指定参数,格式如下:@参数名数据类型[=默认值][OUTPUT][,...n]【例9.3】创建存储过程add_proc,它的功能计算两个参数之和并将其输出,具体语句如下:CREATEPROCEDUREadd_proc@num1INT=0,@num2INT=0ASDECLARE@num3INTSET@num3=@num1+@num2PRINT@num3【例9.3】存储过程add_proc定义了两个参数@num1和@num2,它们都是输入参数,参数类型为INT,默认值为0。在查

9、询分析器中指定上面的命令,创建存储过程add_proc。然后再执行如下命令,运行存储过程:EXECadd_procGO运行结果为:0【例9.3】因为在执行存储过程时没有带参数,所以两个参数的值都被设置为默认值0,它们的和等于0。在查询分析器中指定上面的命令,创建存储过程add_proc。然后再执行如下命令,运行存储过程:EXECadd_proc13,25GO运行结果为:38【例9.4】创建存储过程add_proc1,它的功能是计算两个参数之和,并将结果使用输出参数返回,具体语句如下:CREATEPROCEDUREadd_proc1@n

10、um1INT=0,@num2INT=0,@num3INTOUTPUTASSET@num3=@num1+@num2【例9.4】在查询分析器中执行如下代码,可以将存储过程add_proc1的输出参数值保存到@num变量中。DECLARE@numASINTEXECadd_proc112,23,@numOUTPUTPRINT@num运行结果为:38【例9.5】创建存储过程AvgWage,它的功能是根据给定的部门名称计算平均工资,并将结果使用输出参数返回,具体语句如下:CREATEPROCEDUREAvgWage@depnamevarchar(

11、100),@wagefloatOUTPUTASDECLARE@depidintSET@depid=0--根据参数中指定的部门名称@depname,获取部门编号SELECT@depid=Dep_IdFROMDepInfoW

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

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

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