存储过程、触发器和函数
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CREATE PROCEDURE hotel_proc4
@in int,@sum int OUTPUT
WITH RECOMPILE,ENCRYPTION
AS
DECLARE @i int
DECLARE @s int
SET @i=1
SET @s=0
WHILE @i<=@in
BEGIN
SET @s=@s+@i
整理课件
23
整理课件
24
2、使用系统存储过程查看存储过程
①用 户 可 以 先 用 系 统 存 储 过 程 sp_stored_procedures列出当前环境中所 有的存储过程,
② 然后使用另一个系统存储过程sp_helptext 查看某存储过程的正文信息。
整理课件
25
3、使用“对象资源管理器”修改存 储过程
• 用户执行存储过程时,只需在客户端通过指明所 调用的存储过程的名称来调用存储过程,可大大 较少网络通信流量。
• 存储过程具有安全特性和所有权链接,可以执行 所有的权限管理。
整理课件
6
3.存储过程的类型
• 用户自定义存储过程 • 扩展存储过程 • 系统存储过程。
整理课件
7
8.2 创建和执行存储过程
1. 在图形界面下创建存储过程 2. 用Transact-SQL语句创建不带参数的存
储过程 3. 用Transact-SQL语句创建带参数的存储
过程 4. 在图形界面下执行存储过程 5. 使用Transact-SQL语句执行存储过程
整理课件
8
1. 在图形界面下创建存储过程
整理课件
9
整理课件
10
整理课件
第8章 存储过程、触发器
整理课件
1
本章学习目标
• 掌握存储过程的基本概念、特点和类型 • 掌握存储过程的创建和执行方式 • 掌握存储过程的管理方式 • 掌握触发器的基本概念、特点和类型 • 掌握触发器的创建和管理方式
整理课件
2
本章主要内容
• 存储过程概述 • 创建和执行存储过程 • 管理存储过程 • 创建触发器 • 管理触发器
整理课件
26
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]
整理课件
27
5、使用“对象资源管理器”删除存 储过程
整理课件
28
整理课件
29
6、使用Transact-SQL语句删除存 储过程
17
整理课件
18
5.使用Transact-SQL语句执行存储 过程
EXEC[UTE] procedure_name 【例8-4】 DECLARE @temp varchar(12) SET @temp='李铭' EXECUTE hotel_proc3 @temp
整理课件
19
【例8-3】创建一名为hotel_proc4的存储过程,实现前n个自然数的求 和功能,并使得该存储过程在每次执行时都被重新编译,且要求对其原 始Transact-SQL语句进行加密。
11
整理课件
12
整理课件
13
整理课件
14
2. 用Transact-SQL语句创建不带参 数的存储过程
语法: CREATE PROC[EDURE] procedure_name AS sql_statement 【例8-1】 CREATE PROCEDURE hotel_proc2 AS SELECT 身份证号,姓名,电话 FROM 客户信息
SET @i=@i+1
END
SET @sum=@s
整理课件
20
【例8-5】执行例8-3创建的存储过程 hotel_proc4。
DECLARE @s int EXECUTE hotel_proc4 100,@s OUTPUT PRINT '1+2+...+99+100='+str(@s)
整理课件
21
整理课件
15
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整理课件
16
4. 在图形界面下执行存储过程
整理课件
• 存储过程可以由应用程序通过一个调用来执 行,而且允许用户声明变量。
• 存储过程可以接收和输出参数、返回执行存 储过程的状态值。
整理课件
5
2.存储过程的特点
• 存储过程允许用户模块化程序设计,大大提高程 序的设计效率。
• 存储过程可以强制应用程序的安全性,可以防止 SQL嵌入式攻击。
• 由于存储过程在服务器端存储和运行,并且第一 次执行后在内存中保留,以后调用时不需要再次 从磁盘装载,能够实现更快的执行速度。
整理课件
3
Fra Baidu bibliotek
8.1 存储过程概述
1. 存储过程的定义 2. 存储过程的特点 3. 存储过程的类型
整理课件
4
1. 存储过程的定义
• 存储过程是一组为了完成特定任务的SQL语 句 集 , 是 利 用 SQL Server 所 提 供 的 Transact-SQL语言所编写的程序。
• 存储过程经编译和优化后存储在数据库服务 器中。
8.3管理存储过程
1. 使用“对象资源管理器”查看存储过程 2. 使用系统存储过程查看存储过程 3. 使用“对象资源管理器”修改存储过程 4. 使用Transact-SQL语句修改存储过程 5. 使用“对象资源管理器”删除存储过程 6. 使用Transact-SQL语句删除存储过程
整理课件
22
1、使用“对象资源管理器”查看存储过 程