- 0
- 0
- 约8.45千字
- 约 40页
- 2018-02-16 发布于浙江
- 举报
[工学]第四章 存储过程和触发器
第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=]procedure_name [[@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
您可能关注的文档
最近下载
- (正式版)DB1501∕T 0038-2023 《红花生态种植技术规程》.pdf VIP
- 2025年广东中山中考语文试题及答案(word版) .pdf VIP
- 《中国文化概论》张岱年课后习题答案.pdf VIP
- 德阳市中考:2025年-2023年《化学》考试真题与参考答案.pdf
- 公路平面交叉设计细则.docx VIP
- 人教版二年级下册数学全册教学设计(配2026年春改版教材).docx
- 智慧树 知到 大学生爱国教育十讲 章节测试答案.docx VIP
- 2024年广东中山中考语文试题及答案.pdf VIP
- 医院药品采购管理制度细则.docx VIP
- 2《JavaScript初级》教学计划大纲.docx VIP
原创力文档

文档评论(0)