- 21
- 0
- 约7.97千字
- 约 40页
- 2017-03-22 发布于江西
- 举报
第四章 存储过程和触发器.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; 即可查询
您可能关注的文档
- 英汉翻译课件new.ppt
- 6第六节稳态误差分析.ppt.ppt
- 图论动画-流分解.ppt
- 语文_小学五年级_五语下_课件_7《祖父的园子》课件.ppt
- 网络编程电子教案new.ppt
- No.2文化与人文地理学.ppt
- 无线传感网络定位技术new.ppt
- 华南理工大学电路课件第十二章.ppt
- 2010年遵化天之润商业项目营销推广方案.ppt
- 如何解答数据分析题?.ppt
- JJG 543-2026心电图机检定规程.pdf
- 《JJG 543-2026心电图机检定规程》.pdf
- GB/T 47045-2026乘用车车载信息优先级的确定方法.pdf
- 《GB/T 12668.2-2025调速电气传动系统 第2部分:一般要求 交流调速电气传动系统额定值的规定》.pdf
- 中国国家标准 GB/T 12668.2-2025调速电气传动系统 第2部分:一般要求 交流调速电气传动系统额定值的规定.pdf
- 中国国家标准 GB/T 31487.1-2025直流融冰装置 第1部分:系统设计.pdf
- GB/T 12668.2-2025调速电气传动系统 第2部分:一般要求 交流调速电气传动系统额定值的规定.pdf
- GB/T 31487.1-2025直流融冰装置 第1部分:系统设计.pdf
- 《GB/T 31487.1-2025直流融冰装置 第1部分:系统设计》.pdf
- 《GB/T 31418-2025道路交通信号控制系统术语》.pdf
原创力文档

文档评论(0)