第四章 存储过程和触发器.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 存储过程和触发器.ppt

第4章 存储过程和触发器 4.1 存储过程 4.2 触发器 4.1 存储过程 4.1.1 存储过程基本概念 4.1.2 创建和执行存储过程 4.1.3 存储过程的修改和删除 4.1.1 存储过程基本概念 存储过程是指经过预先编译的SQL语句的集合,可以以一种可执行的形式永久地存储在数据库中。 需要时只需调用该过程就可以完成相应的操作。 存储过程类似于程序设计语言中的过程和函数。 4.1.1 存储过程基本概念 续 存储过程具有以下优点。 (1)运行速度快 (2)模块化编程,增强代码的重用性和共享性 (3)减少网络通信量 (4)保证系统的安全性 4.1.1 存储过程基本概念 续 在SQL Server中,存储过程有两种类型: 系统存储过程 用户定义的存储过程 系统存储过程存放在master数据库中并以sp_为前缀,主要是从系统表中获取信息,为系统管理员管理SQL Server提供支持。 用户自定义存储过程是由用户创建并能完成某一特定功能的存储过程。对于用户创建的存储过程,尽量不要以sp_作为其名称的前缀。 4.1.2 创建和执行存储过程 一、创建存储过程 T-SQL语句格式: CREATE PROC[EDURE] procedure_name [@parameter data_type [ default] [OUTPUT]][ ,…] [WITH ENCRYPTION] AS sql_statement; procedure_name:存储过程名 parameter:存储过程中定义的输入/输出参数 data_type:参数的数据类型 default:定义参数的默认值 OUTPUT:输出参数 WITH ENCRYPTION:加密存储过程 sql_statement:存储过程中要执行的T-SQL语句 一、创建存储过程 续 创建存储过程时,需要注意以下几点: (1)CREATE PROCEDURE不能与其他的T-SQL语句位于同一个批处理中。 (2)创建存储过程的权限默认属于数据库拥有者。 (3)只能在当前数据库中创建存储过程。 (4)成功执行CREATE PROCEDURE语句后,存储过程名称将存储在sysobjects系统表中,而CREATE PROCEDURE语句的文本将存储在syscomments中。 (5)存储过程可以嵌套调用。 (6)存储过程中不允许使用创建数据库对象的语句。 一、创建存储过程 续 例4.1 在学生-课程数据库中创建一个存储过程,查看“张明”同学的有关基本信息和选修课程的情况。 CREATE PROCEDURE student_course AS SELECT Student.Sno, Sname, Cname, Grade FROM Student, Course, SC WHERE Student.Sno SC.Sno AND Course.Cno SC.Cno AND Sname 张明; 为了避免出现重复的存储过程名称而无法建立该存储过程,可以先使用以下语句: IF EXISTS(SELECT name FROM sysobjects WHERE name student_course AND type P DROP PROCEDURE student_course; 一、创建存储过程 续 系统存储过程sp_helptext: 查看存储过程中的SQL语句 系统存储过程sp_depends: 查看存储过程使用的对象以及调用该存储过程的其他存储过程的名称。 二、执行存储过程 EXECUTE语句格式如下: [EXEC[UTE]] [@return_status ] [[@parameter ] value |@variable [OUTPUT] [, ...n ]]; - return_status:是一个可选的整型变量,保存存储过程的返回状态。这个变量在EXECUTE语句之前,必须声明过。 - procedure_name:被调用执行的存储过程名。 - parameter:是CREATE PROC语句中定义的存储过程参数。在以@parameter_name? ?value格式使用时,参数名称和常量不一定按照CREATE PROC语句中定义的顺序出现,但是若有一个参数使用@parameter_name value格式,则其他所有参数都必须使用这种格式。 - variable:保存输入参数或者输出参数值的变量。 - OUTPUT:输出参数。存储过程的匹配参数也须指定关键字OUTPUT。 二、执行存储过程 续 例4.2 调用例4.1定义的存储过程的方法为 EXECUTE student_course; 即可查询

文档评论(0)

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

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

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档