mysql创建存储过程及函数详解
文章来源: 学习通http://www.bdgxy.com/
目录
- 1. 存储过程
- 1.1. 基本语法
- 1.2 创建一个指定执行权限的存储过程
- 1.3?DELIMITER 的使用
- 2. 创建函数?
1. 存储过程
1.1. 基本语法
create procedure name ([params])
UNSIGNED [characteristics] routine_body
?params : in|out|inout 指定参数列表 代表输入与输出
routine_body: SQL代码内容,以begin ........? ?end
characteristics: 指定存储过程特性,包含5种
? ? ? ? ? ? ? ? ? ? ? ? ? ?1 DETERMINISTIC 不确定的
2 NO SQL 没有SQl语句,当然也不会修改数据
3 READS SQL DATA 只是读取数据,当然也不会修改数据
4 MODIFIES SQL DATA 要修改数据
5 CONTAINS SQL 包含了SQL语句
1.2 创建一个指定执行权限的存储过程
create DEFINER=`root`@`%` procedure name ([params])
UNSIGNED [characteristics] routine_body
DEFINER:指明谁有权力来执行。
1.3?DELIMITER 的使用
? ? ? ”DELIMITER //“ 表示设置“//”符号为结束语,因为mysql中默认语句结束为分号‘;',为了避免存储过程与mysql语句符号冲突,所以有时使用DELIMITER来改变结束语符号,要配合end //来使用;
?示例:创建一个root账户执行的存储过程,输出给定字符串的长度
DELIMITER //
CREATE definer=`root`@`%` PROCEDURE `avgFruitPrice`(
in f_string VARCHAR(200)
)
BEGINselect length(f_string);
END//
2. 创建函数?
函数的创建与存储过程相同
示例
DELIMITER //
CREATE definer=`root`@`%` FUNCTION `my_length`(
f_string VARCHAR(200)
)
RETURNS INT(11)
UNSIGNED NO SQL
BEGINreturn length(f_string);
END//
注意: 创建函数需要注意3个地方,
1.??RETURNS: 需指定返回类型
2.?UNSIGNED ?NO SQL 需指定存储过程特性
3.return: 返回需要的数据
遇见的错误:
如报错如上信息就是没有指定存储过程特性。
存储过程函数中可以通过mysql查询结果为其参数复制: 其语句为select .... into
begin
declare onename char(50) default‘0’;
declare twoname char(50);
select f_name, b_name into onename, twoname from t_user where id =1;
…
end//
说明:
declare: 存储过程及函数内部定义变量
default:默认值
到此这篇关于mysql创建存储过程及函数详解的文章就介绍到这了,更多相关mysql存储过程及函数内容请搜索菜鸟教程www.piaodoo.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持菜鸟教程www.piaodoo.com!
mysql创建存储过程及函数详解相关推荐
- mysql日期时间操作函数详解
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. win7可以设定每周从哪一天开始,win2003等不能方便的修改.有的是周日开始,有的是周一开始.而 ...
- MySQL——创建存储过程和函数
简单地说,存储过程就是一条或多条 SQL 语句的集合,可视为批文件,但是其作用不仅限于批处理.存储程序可以分为存储过程和函数.存储过程要用 CALL 语句来调用,并且只能用输出变量返回值. 1. ...
- insert 语句_替换某字段中的特定字符串——MySQL REPLACE 与INSERT 函数详解
MySQL提供了一个非常实用的字符串函数--REPLACE() 函数,它允许用新的字符串替换字段中的特定字符串,而不再需要自己写函数去替换,用起来非常的方便. REPLACE() 函数语法 需要注意的 ...
- MySql常用内置函数详解
目录 日期函数--了解 ***字符串函数--重要 数学函数--了解 其他函数--了解 MySql为我们提供了一些内主函数,方便我们对特定数据进行相关操作! 注意:都是配合select使用哦,个人理解S ...
- mysql 创建表 create table详解
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...
- mysql数据存储过程详解_mysql数据存储过程参数实例详解
MySQL 存储过程参数有三种类型:in.out.inout.它们各有什么作用和特点呢? 一.MySQL 存储过程参数(in) MySQL 存储过程 "in" 参数:跟 C 语言的 ...
- mysqlsum绝对值_MySQL_MySQL笔记之数学函数详解,绝对值函数ABS(x)和圆周率函数P - phpStudy...
MySQL笔记之数学函数详解 绝对值函数ABS(x)和圆周率函数PI() mysql> SELECT ABS(0.5), ABS(-0.5), PI(); +----------+------- ...
- mysql的聚合函数综合案例_MySQL常用聚合函数详解
一.AVG AVG(col) 返回指定列的平均值 二.COUNT COUNT(col) 返回指定列中非NULL值的个数 三.MIN/MAX MIN(col):返回指定列的最小值 MAX(col):返回 ...
- MySql截取字符串的几个常用函数详解
MySql截取字符串的几个常用函数详解 MySQL 截取字符的几个常用函数:left(), right(), substring(), substring_index(),mid(), substr( ...
最新文章
- go语言中的多语言文本
- 独家 | 机器学习模型应用方法综述
- Generator的正确打开方式
- 一款插件如何让Github变得不一样?
- web访问 FastDFS 方法思路
- 托管节点池助力用户构建稳定自愈的 Kubernetes 集群
- wordpress雪花下雪WP Snow Effect插件
- linux-关于用户的约定
- node.js 学习笔记四:读取文件
- MYSQL的索引类型:PRIMARY, INDEX,UNIQUE,FULLTEXT,SPAIAL 区别与使用场合
- 西南科技大学OJ题 约瑟夫问题的实现0956
- 教你使用Python实现新个税计算器!
- rabbitmq版本升级
- 【无标题】口算小程序
- c语言一元多项式相加
- RFC8314文档中对465端口和587端口的阐述
- 与、或、非、与非、或非、异或、同或的区别
- 培训-从学员的角度思考问题
- 环境温度 和气温的区别,有区别吗
- 各种有用的东西、黑科技、技巧