MySQL数据库管理与开发第9章 存储过程与存储函数
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SHOW CREATE语句
Baidu Nhomakorabea
SHOW STATUS和SHOW CREATE语句的比较
SHOW STATUS
•
•
SHOW CREATE
• 查看详细定义
只能查看储过程或函数的名称、类 型、定义者、修改时间等信息
不能查询存储过程或函数的具体定 义
SHOW CREATE语句
SHOW CREATE语句的语法形式如下:
SELECT col_name[,…] INTO var_name[,…] FROM table_name WHERE conditionvar_name=expr[,var_name=expr]…
SELECT price INTO book_price FROM tb_bookinfo WHERE barcode= '9787115418425';
创建存储过程
创建一个统计指定图书借阅次数的存储过程。主要是通过 实例 创建一个名称为proc_count的存储过程,实现统计 tb_borrow1数据表中指定图书编号的图书的借阅次数。
创建存储函数
创建存储函数
创建存储函数的基本形式如下:
CREATE FUNCTION sp_name ([func_parameter[,...]]) RETURNS type [characteristic ...] routine_body
光标的运用
光标的应用
光标 游标 可以逐条读取结果 集中的记录
CURSOR
光标的运用
1.声明光标
声明光标的语法格式如下:
DECLARE cursor_name CURSOR FOR select_statement DECLARE cursor_book CURSOR FOR SELECT barcode,bookname,price FROM tb_bookinfo WHERE typeid=4;
创建存储过程
创建存储过程的基本形式如下:
CREATE PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_body
[ IN | OUT | INOUT ]param_name type DELIMITER // BEGIN..END
BEGIN..END
创建存储函数
应用tb_borrow1数据表。创建一个统计指定图书借阅次数 实例 的存储函数,名称为func_count。实现统计tb_borrow1数 据表中指定图书编号的图书的借阅次数。
变量的应用
变量的应用
局部参数 局部变量
BEGIN…END范 围内有效
全局参数 全局变量
光标的运用
2.打开光标
打开光标的语法格式如下:
OPEN cursor_name OPEN cursor_book
光标的运用
3.使用光标
使用光标的语法格式如下:
FETCH cursor_name INTO var_name[,var_name]…
FETCH cursor_book INTO tmp_barcode,tmp_bookname,tmp_price;
整个存储过程 范围内有效
局部变量
声明局部变量的基本语法形式如下:
DECLARE
DECLARE var_name[,…] type [DEFAULT value]
局部变量
实例
演示局部变量只在某个BEGIN…END块内有效。
全局变量
@
全局变量
实例
分别在内部和外部BEGIN…END块中都定义了同名 的全局变量@t,并且最终输出结果相同,从而说 明全局变量的作用范围为整个程序。
光标的运用
4.关闭光标
关闭光标的语法格式如下:
CLOSE cursor_name
CLOSE cursor_book
2
存储过程和存储函数的调用
主要内容
1
调用存储过程
2 调用存储函数
调用存储过程
调用存储过程
CALL语句的基本语法形式如下:
CALL
CALL sp_name([parameter[,…]]);
第9章 存储过程与存储函数
01
创建存储过程和存储函数
02
存储过程和存储函数的调用
查看存储过程和函数 修改存储过程和函数 删除存储过程和函数
03
04
05
1 创建存储过程和存储函数
主要内容
1
创建存储过程
2 创建存储函数 3 变量的应用 4 光标的运用
创建存储过程
存储过程和存储函数
存储过程和存储函数经常是一组SQL语 句的组合,这些语句被当作整体存入 MySQL数据库服务器中。
调用存储过程
实例
调用统计图书借阅次数的存储过程。
调用存储函数
调用存储函数
在MySQL中,存储函数的使用方法 与MySQL内部函数的使用方法基本相同。
调用存储函数
调用存储函数的基本语法形式如下:
SELECT function_name([parameter[,…]]);
调用存储函数
实例
调用统计图书借阅次数的存储函数。
ALTER {PROCEDURE | FUNCTION} sp_name [characteristic ...] characteristic: { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA } | SQL SECURITY { DEFINER | INVOKER } | COMMENT 'string'
为变量赋值
1.使用SET关键字为变量赋值
使用SET关键字为变量赋值的基本语法形式如下:
SET var_name=expr[,var_name=expr]…
SET mr_soft=10;
为变量赋值
2.使用SELECT…INTO语句为变量赋值 使用SELECT…INTO语句为变量赋值的基本语法形式如下:
3 查看存储过程和函数
主要内容
1
SHOW STATUS语句
2 SHOW CREATE语句
SHOW STATUS语句
SHOW STATUS语句
SHOW STATUS语句的语法形式如下:
SHOW STATUS
SHOW {PROCEDURE | FUNCTION}STATUS[LIKE 'pattern']
SHOW CREATE
SHOW CREATE{PROCEDURE | FUNCTION } sp_name;
SHOW CREATE语句
实例
查询名称为proc_count的存储过程。
4 修改存储过程和函数
修改存储过程和函数
修改存储过程和函数的语法格式如下:
ALTER PROCEDURE | FUNCTION