河南中医药大学:《MySQL数据库应用》课程讲稿课件_第六章 MySQL存储过程函数触发器事件(MySQL过程式数据库对象——存储过程、存储函数、触发器、事件)(1/2)

ohi MySQL Workbench MusO SQL数据库应用 河南中医药大学信息技术学院王昂 201902
MySQL数据库应用 河南中医药大学信息技术学院 王昂 2019.02

MySQL 第六章 MySL过程式数据库对象 主讲内容:存储过程、存储函数、触发器、 事件 M/ySQL数据库应用》hto:/ mysqlxg. hactcmeducn 第2页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 2 页 第六章 MySQL过程式数据库对象 主讲内容:存储过程、存储函数、触发器、 事件

·教学内容 MySQL 1.存储过程 2.存储函数 3.触发器 4.事件 M/ySQL数据库应用》hto:/ mysqlxg. hactcmeducn 第3页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 3 页 教学内容 1. 存储过程 2. 存储函数 3. 触发器 4. 事件

61存储过程 MySQL 存储过程是组为了完成特定功能的SQL语句集,经编译后存储在数据库中, 用户通过指定存储过程名称和参数来调用它。 存储过程的优点 (1)在存储过程内部可以编写各种功能代码,完成复杂的判断和复杂的运算, 增强灵活性。 (2)存储过程被创建后,可以在程序中被多次调用,可以随时修改,不影响 应用程序和源代码。 (3)存储过程在服务器端运行,执行速度快 (4)增加安全性。通过设置存储过程权限,可以避免非授权用户对数据的访 M/ySQL数据库应用》hto:/ mysqlxg. hactcmeducn 第4页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 4 页 6.1 存储过程 存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中, 用户通过指定存储过程名称和参数来调用它。 存储过程的优点: (1)在存储过程内部可以编写各种功能代码,完成复杂的判断和复杂的运算, 增强灵活性。 (2)存储过程被创建后,可以在程序中被多次调用,可以随时修改,不影响 应用程序和源代码。 (3)存储过程在服务器端运行,执行速度快。 (4)增加安全性。通过设置存储过程权限,可以避免非授权用户对数据的访 问

·6,11创建存储过程 MySQL 1、创建存储过程命令 语法格式: CREATE PROCEDURE存储过程名(过程参数….]) [特征…]存储过程体 说明: 过程参数格式为:[IN丨oUT|NoUT]参数名参数类型 系统默认在当前数据库中创建。需要在特定数据库中创建存储过程时,则要 在名称前面加上数据库的名称,格式为:数据库名.存储过程名。 当存储过程有多个参数时,中间用逗号隔开。 M/ySQL数据库应用》hto:/ mysqlxg. hactcmeducn 第5页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 5 页 6.1.1 创建存储过程 1、创建存储过程命令 语法格式: CREATE PROCEDURE 存储过程名 ([过程参数 ... ]) [特征 ...] 存储过程体 说明: – 过程参数格式为:[ IN | OUT | INOUT ] 参数名 参数类型 – 系统默认在当前数据库中创建。需要在特定数据库中创建存储过程时,则要 在名称前面加上数据库的名称,格式为:数据库名.存储过程名。 – 当存储过程有多个参数时,中间用逗号隔开

061.2存储过程体 MySQL 案例: create procedure xx student (in xh char(6)) create procedure xsc j xx student(in xh char(6)) create procedure sex xs (in xh char(6), out shuchu char(20)) M/ySQL数据库应用》hto:/ mysqlxg. hactcmeducn 第6页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 6 页 6.1.2 存储过程体 案 例: create procedure xx_student(in xh char(6)) create procedure xscj.xx_student(in xh char(6)) create procedure sex_xs(in xh char(6), out shuchu char(20) )

·6,11创建存储过程 MySQL (1)存储过程特征的格式 Language SQL I [not deterministic I I contains SQL NO SQL reads SQL data modifies SQL data I SQL security( definer invoker I comment ' string 说明: (1) LANGUAGE S癿L:表明编写这个存储过程的语言为S呲L语言。 (2) DETERMINISTIC DETERMINISTIC:表示存储过程对同样的输入参数产生相同的结果; NOT DETERM|N|ST|G:表示会产生不确定的结果; 默认为 NOT DETERM|N|ST|C。 M/ySQL数据库应用》hto:/ mysqlxg. hactcmeducn 第7页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 7 页 6.1.1 创建存储过程 (1)存储过程特征的格式 Language SQL | [not ] deterministic | { contains SQL | NO SQL | reads SQL data | modifies SQL data } | SQL security { definer | invoker } | comment 'string' 说明: (1)LANGUAGE SQL:表明编写这个存储过程的语言为SQL语言。 (2)DETERMINISTIC: – DETERMINISTIC:表示存储过程对同样的输入参数产生相同的结果; – NOT DETERMINISTIC:表示会产生不确定的结果; – 默认为NOT DETERMINISTIC

·6,11创建存储过程 MySQL 3) CONTAINS SQL:表示存储过程不包含读或写数据的语句 NoS0L:表示存储过程不包含SL语句; READS SQL_DATA:表示存储过程包含读数据的语句,但不包含写数据的语句; MODIFIES SQL DATA:表示存储过程包含写数据的语句 如果这些特征没有明确给定,默认的是 CONTAINS SQL。 (4) SQL SECURITY:用来指明谁有权来执行。 DEFINER:使用创建该存储过程的用户的权限来执行 INVOKER:使用调用者的权限来执行 默认值是 DEFINER。 5) COMMENT' string':注释信息,对存储过程的描述。 M/ySQL数据库应用》hto:/ mysqlxg. hactcmeducn 第8页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 8 页 6.1.1 创建存储过程 (3)CONTAINS SQL:表示存储过程不包含读或写数据的语句。 – NO SQL:表示存储过程不包含SQL语句; – READS SQL DATA:表示存储过程包含读数据的语句,但不包含写数据的语句; – MODIFIES SQL DATA:表示存储过程包含写数据的语句; – 如果这些特征没有明确给定,默认的是CONTAINS SQL。 (4)SQL SECURITY:用来指明谁有权来执行。 – DEFINER:使用创建该存储过程的用户的权限来执行; – INVOKER:使用调用者的权限来执行; – 默认值是DEFINER。 (5)COMMENT 'string':注释信息,对存储过程的描述

·6,11创建存储过程 MySQL (2)存储过程体 存储过程体包含了在过程调用的时候必须执行的语句。 de imiter结束符号 例如 delimiter $s egIn 过程体 leg end结束符号 过程体 end $$ de imiter delimiter M/ySQL数据库应用》hto:/ mysqlxg. hactcmeducn 第9页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 9 页 6.1.1 创建存储过程 (2)存储过程体 存储过程体包含了在过程调用的时候必须执行的语句。 delimiter 结束符号 begin 过程体 end 结束符号 delimiter ; 例如: delimiter $$ begin 过程体 end $$ delimiter ;

·6,11创建存储过程 MySQL 【例61】用存储过程实现删除一个特定学生的信息。 create procedure delete student(in xh char(6)) beg in delete from xs where学号=xh; end 代码的执行过程: del imiter ss create procedure delete student (in xh char(6)) begin delete from xs where学号=xh; end Ss del imiter M/ySQL数据库应用》hto:/ mysqlxg. hactcmeducn 第10页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 10 页 6.1.1 创建存储过程 【例6.1】用存储过程实现删除一个特定学生的信息。 create procedure delete_student(in xh char(6)) begin delete from xs where 学号=xh; end; 代码的执行过程: delimiter $$ create procedure delete_student(in xh char(6)) begin delete from xs where 学号=xh; end $$ delimiter ;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第五章 MySQL语言.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第四章 MySQL索引和完整性约束.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第三章 MySQL查询和视图——管理MySQL视图.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第三章 MySQL查询和视图——嵌套查询和集合查询.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第三章 MySQL查询和视图——单表查询和多表查询.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第二章 MySQL数据库和表——管理数据表和表数据.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第二章 MySQL数据库和表——创建数据库和数据表.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第一章 MySQL初步——MySQL安装.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第一章 MySQL初步——数据库基础.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_09实验九:数据备份与数据恢复.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_08实验八:存储过程、存储函数和触发器.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_07实验七:常见的MySQL管理工具.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_06实验六:MySQL语言.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_05实验五:MySQL视图和数据完整性.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_04实验四:MySQL数据查询.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_03实验三:MySQL表数据管理.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_02实验二:MySQL数据库和数据表管理.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_01实验一:在Windows上安装MySQL.pdf
- 河南中医药大学:《MySQL数据库应用》课程设计报告(样例,个人通信数据分析).doc
- 普通高等学校计算机教育“十二五”规划教材:《MySQL数据库教程》必知必会+快速进阶+实战应用(视频指导版,第5章,图片版).pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第六章 MySQL存储过程函数触发器事件(MySQL过程式数据库对象——存储过程、存储函数、触发器、事件)(2/2).pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第七章 MySQL数据库备份与恢复(一).pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第一章 MySQL初步——常用界面管理工具的使用.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第七章 MySQL数据库备份与恢复(二).pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第八章 MySQL用户权限维护.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验一 Microsoft SQL Server 2008的配置及管理.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验七 数据库安全性.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验三 使用SQL语句创建和管理数据库、数据表及表数据.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验九 数据库备份与恢复.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验二 界面方式下数据库、数据表及表数据的创建与管理.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验五 数据库综合查询.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验八 数据库完整性约束.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验六 数据更新.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验四 数据库简单查询.pdf
- 河南中医药大学:《数据库原理 The Principle of Database》课程资源_实验教学大纲.pdf
- 河南中医药大学:《数据库原理 The Principle of Database》课程资源_理论教学大纲.pdf
- 河南中医药大学:《数据库原理 The Principle of Database》课程教学资源(课件讲稿)第一章 绪论 第一讲 认识数据库.pdf
- 河南中医药大学:《数据库原理 The Principle of Database》课程教学资源(课件讲稿)第二章 关系数据库 第二讲 关系模型.pdf
- 河南中医药大学:《数据库原理 The Principle of Database》课程教学资源(课件讲稿)第二章 关系数据库 第三讲 数据库系统结构.pdf
- 河南中医药大学:《数据库原理 The Principle of Database》课程教学资源(课件讲稿)第二章 关系数据库 第四讲 关系模型、关系代数.pdf