第4章SQL Server 存储过程与触发器.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章SQL Server 存储过程与触发器 刘翔 4.1 SQL Server 存储过程 4.1.1存储过程概述 存储过程(Stored Procedure)是一组为了完成特定功能T-SQL语句集合,经编译后存储在SQL Server服务器端数据库中。存储过程可以分为两类:系统存储过程和自定义存储过程。 4.1 SQL Server 存储过程 系统存储过程,图4.1所示。 4.1 SQL Server 存储过程 系统存储过程在SQL Server安装成功后,就已经存储在系统数据库Master中,这些存储过程都是以sp_为前缀命名的,它们主要是从系统表中获取信息,系统管理员可以通过简单调用系统存储过程而完成复杂的SQL Server管理工作。可以通过系统存储过程完成许多管理性或信息的操作。系统存储过程在Master数据库中,在其他数据库中可以直接调用,调用时不必在存储过程名前加上数据库名。 4.1 SQL Server 存储过程 自定义存储过程是由用户创建并能完成某一特定功能的存储过程。 4.1 SQL Server 存储过程 存储过程的具体优点如下: 1.提高应用程序的通用性和可移植性 2.可以更有效地管理用户操作数据库的权限 3.可以提高T-SQL的速度 4.1 SQL Server 存储过程 4.减轻服务器的负担 5.块化程序设计。 6.减少操作错误。 7.能自动处理复杂的或敏感的事务。 8.可以实现管理任务自动化。 4.1 SQL Server 存储过程 4.1.2存储过程的创建与执行 1.直接创建存储过程 (1)打开Microsoft SQL Server Manager管理器。 (2)单击数据库前面的“+”号,然后单击“Material_Data1”数据库前面的“+”号,再单击“可编程性”前面的“+”号,选择“存储过程”,单击鼠标右键,在弹出的快捷菜单中单击“新建存储过程”命令,图4.2所示。 4.1 SQL Server 存储过程 4.1 SQL Server 存储过程 (3)打开了一个创建存储过程的数据库引擎查询模板,修改相应参数即可。 4.1 SQL Server 存储过程 2.代码创建存储过程 利用T-SQL创建存储过程的语法格式如下: create proc 过程名 @parameter参数类型 @parameter 参数类型 Output … as begin 命令行或命令块 end 4.1 SQL Server 存储过程 3.代码执行存储过程 利用T-SQL执行存储过程的语法格式如下: execute 过程名[参数值,…[output] (1)没有参数的存储过程创建 create proc hyprocl as select * from manager where wage 1800 执行该存储过程 execute hyprocl 4.1 SQL Server 存储过程 (2)有参数存储过程创建 create proc hyproc2 @mingz int, @maxgz int as select*from manager where wage between @mingz and @maxgz 4.1 SQL Server 存储过程 例4.1假设要显示工资在1000到2000之间的manager信息,具体代码: execute hyproc2 1005,1800 4.1 SQL Server 存储过程 4.1.3 修改存储过程 修改存储过程具体格式如下: alter proc过程名 @parameter参数类型 @parameter参数类型output as begin 命令行或命令块 end 其中各参数的意义与创建过程的相同。 4.1 SQL Server 存储过程 例4.2修改存贮过程hyproc2, 输出manager性别分类人员数与总工资。 alter proc hyproc2 @sex1 char(2), @managercount int output, @wagetotal real output as begin select*from manager select @managercount=count(wage)fr

文档评论(0)

803322fw + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档