本文整理自网络,侵删。
目录
- 1、存储过程与函数的区别
- 1.1、相同点
- 1.2、不同点
- 2、存储过程的操作
- 2.1、创建过程
- 2.2、查看过程
- 2.3、调用过程
- 2.4、删除过程
- 3、存储过程的形参类型
前言:
stored procedure 完成特定功能的SQL语句集,存储在数据库中,经过第一次编译之后再次调用不需要编译(效率较高)
1、存储过程与函数的区别
1.1、相同点
- 都是为了可重复地执行操作数据库的SQL语句集合
- 都是一次编译,多次执行
1.2、不同点
- 标识符不同,函数function 过程 procedure
- 函数中有返回值,且必须返回,而过程没有返回值
- 过程无返回值类型,不能将结果直接赋值给变量;函数有返回值类型,调用时,除了在select中,必须将返回值赋值给变量
- 函数可以再select语句中直接使用,而过程不能
2、存储过程的操作
2.1、创建过程
基本语法:
create procedure 过程名字([参数列表])
bengin
过程体
end
结束符
如果只有只有一条指令可以省略begin和end
create procedure my_pro1() select * from my_student;
过程基本上可以完成函数对应的所有功能:
-- 修改语句结束符 delimiter $$ -- 创建过程 create procedure my_pro2() begin -- 求1到100之间的和 -- 创建局部变量 declare i int default 1; -- declare sum int default 0; -- 会话变量 set @sum = 0; -- 开始循环获取结果 while i <= 100 do -- 求和 set @sum = @sum + i; set i = i + 1; end while; -- 显示结果 select @sum; end $$ delimiter ;
2.2、查看过程
-- 查看所有存储过程 show procedure status [like 'pattern']; -- 查看过程的创建语句 show create procedure 过程名字\G
2.3、调用过程
过程没有返回值
基本语法:
call 过程名([实参列表]); -- eg: call my_pro2(); +------+ | @sum | +------+ | 5050 | +------+
2.4、删除过程
基本语法:
drop procedure 过程名;
3、存储过程的形参类型
存储过程的参数和函数一样,需要制定其类型
相关阅读 >>
在mysql中的explain中的using where和using index
mysql讲解navicat premium 15 激活版安装教程
更多相关阅读请进入《mysql》频道 >>
数据库系统概念 第6版
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » MySQL数据库之存储过程procedure
标签:mysql
相关推荐
评论
管理员已关闭评论功能...