- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章学习目标 掌握存储过程的基本概念、特点和类型 掌握存储过程的创建和执行方式 掌握存储过程的管理方式 掌握触发器的基本概念、特点和类型 掌握触发器的创建和管理方式 了解常用的聚合函数、日期和时间函数、数学函数、字符串函数 本章主要内容 存储过程概述 创建和执行存储过程 管理存储过程 创建触发器 管理触发器 常用函数 8.1 存储过程概述 存储过程的定义 存储过程的特点 存储过程的类型 1. 存储过程的定义 存储过程是一组为了完成特定任务的SQL语句集,是利用SQL Server所提供的Transact-SQL语言所编写的程序。 存储过程经编译和优化后存储在数据库服务器中。 存储过程可以由应用程序通过一个调用来执行,而且允许用户声明变量。 存储过程可以接收和输出参数、返回执行存储过程的状态值。 2.存储过程的特点 存储过程允许用户模块化程序设计,大大提高程序的设计效率。 存储过程可以强制应用程序的安全性,可以防止SQL嵌入式攻击。 由于存储过程在服务器端存储和运行,并且第一次执行后在内存中保留,以后调用时不需要再次从磁盘装载,能够实现更快的执行速度。 用户执行存储过程时,只需在客户端通过指明所调用的存储过程的名称来调用存储过程,可大大较少网络通信流量。 存储过程具有安全特性和所有权链接,可以执行所有的权限管理。 3.存储过程的类型 用户自定义存储过程 扩展存储过程 系统存储过程。 8.2 创建和执行存储过程 在图形界面下创建存储过程 用Transact-SQL语句创建不带参数的存储过程 用Transact-SQL语句创建带参数的存储过程 在图形界面下执行存储过程 使用Transact-SQL语句执行存储过程 1. 在图形界面下创建存储过程 2. 用Transact-SQL语句创建不带参数的存储过程 语法: CREATE PROC[EDURE] procedure_name AS sql_statement 【例8-1】 CREATE PROCEDURE hotel_proc2 AS SELECT 身份证号,姓名,电话 FROM 客户信息 3. 用Transact-SQL语句创建带参数的存储过程 语法: CREATE PROC[EDURE] procedure_name [;number] [{@parameter data_type} [VARYING][=default][OUTPUT]][,...n]? [WITH? ?{RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION}] [FOR REPLICATION]? AS sql_statement [ ...n ]? 【例8-2】 CREATE PROCEDURE hotel_proc3 @name varchar(12) AS SELECT * FROM 客户信息 WHERE 姓名=@name 4. 在图形界面下执行存储过程 5.使用Transact-SQL语句执行存储过程 EXEC[UTE]??procedure_name 【例8-4】 DECLARE @temp varchar(12) SET @temp=李铭 EXECUTE hotel_proc3 @temp 8.3管理存储过程 使用“对象资源管理器”查看存储过程 使用系统存储过程查看存储过程 使用“对象资源管理器”修改存储过程 使用Transact-SQL语句修改存储过程 使用“对象资源管理器”删除存储过程 使用Transact-SQL语句删除存储过程 1、使用“对象资源管理器”查看存储过程 2、使用系统存储过程查看存储过程 用户可以先用系统存储过程sp_stored_procedures列出当前环境中所有的存储过程, 然后使用另一个系统存储过程sp_helptext查看某存储过程的正文信息。 3、使用“对象资源管理器”修改存储过程 4、使用Transact-SQL语句修改存储过程 ALTER PROC[EDURE] procedure_name [;number] [{@parameter data_type} [VARYING][=default][OUTPUT]][,...n] [WITH?{RECOMPILE | ENCRYPTION | RECOMPILE,ENCRYPTION}] [FOR REPLICATION] AS sql_statement [...n] 5、使用“对象资源管理器”删除存储过程 6、使用Transact-SQL语句删除存储过程 DROP PROC[EDURE] procedure_name [,number] 8.4创建和管理触发器 触发器定义 触发器的特点 触发器的分类 创建DML触发器 创建DDL触发
文档评论(0)