mysql自定义函数语法
创建函数
DELIMITER $$
DROP FUNCTION IF EXISTS `test` $$
CREATE FUNCTION `test`(a int ,b int)
RETURNS int
BEGIN
IF (A>B) THEN
RETURN a+b;
ELSE
RETURN a-b;
END IF;
END
DELIMITER;
创建存储过程
DELIMITER $$
DROP PROCEDURE IF EXISTS myProc $$
CREATE PROCEDURE myProc()
BEGIN
DECLARE v_sex int;
SELECT sex into v_sex from user where id=3; // 取出sex 给 v_sex 赋值,select sex into v_sex // SET vv=a+b; //赋值
if(v_sex==0) THEN
SELECT '男生';
ELSE
SELECT '女生';
END IF;
END
DELIMTER;
调用存储过程 call myProc();
delimiter就是告诉mysql解释器,该段命令是否已经结束了,是否可以执行了。
默认情况下,delimiter是分号;,遇到分号就执行。
后面的双美元符号 就是告诉mysql,遇到双美元符号再执行
show function status; // 查看自定义函数
show procedure status; // 查看自定义存储过程
输入输出参数
DELIMITER $$
DROP PROCEDURE IF EXISTS myReslt $$
CREATE PROCEDURE myReslt (IN a INT , IN b INT, OUT c INT) // in 输入参数,out输出参数
BEGIN
SET c=a+b;
SELECT * FROM user WHERE id BETWEEN 2 AND c;
END
DELIMTER;
call myReslt (2,3,@c);
select @c;
存储过程与自定义函数的区别:
存储过程实现的过程要复杂一些,而函数的针对性较强;
存储过程可以有多个返回值,而自定义函数只有一个返回值;
存储过程一般独立的来执行,而函数往往是作为其他SQL语句的一部分来使用;
存储过程存在的必要性(好处):
存储过程说白了就是把经常使用的SQL语句或业务逻辑封装起来,预编译保存在数据库中,当需要的时候从数据库中直接调用,省去了编译的过程.
提高了运行速度;
同时降低网络数据传输量(你觉得传一堆SQL代码快,还是传一个存储过程名字和几个参数快
mysql自定义函数语法的更多相关文章
- mysql 自定义函数
原文:http://www.cnblogs.com/zhangminghui/p/4113160.html 引言 MySQL本身提供了内置函数,这些函数的存在给我们日常的开发和数据操作带来了很大的便利 ...
- MySQL自定义函数用法详解-复合结构自定义变量/流程控制
自定义函数 (user-defined function UDF)就是用一个象ABS() 或 CONCAT()这样的固有(内建)函数一样作用的新函数去扩展MySQL. 所以UDF是对MySQL功能的一 ...
- MySQL自定义函数(四十六)
MySQL自定义函数 一.什么是MYSQL自定义函数? mysql当中的自定义函数,我们简称为UDF,它实际上是一种对MySQL扩展的途径,其用法与内置函数相同. 二.自定义函数应该具备哪些条件? 我 ...
- mysql自定义函数并在存储过程中调用,生成一千万条数据
mysql 自定义函数,生成 n 个字符长度的随机字符串 -- sql function delimiter $$ create function rand_str(n int) returns VA ...
- MySQL 自定义函数CREATE FUNCTION实例
分享一个MySQL 自定义函数CREATE FUNCTION的实例.mysql> delimiter $$mysql> CREATE FUNCTION myFunction-> (i ...
- mysql MAX()函数 语法
mysql MAX()函数 语法 作用:返回一列中的最大值.NULL 值不包括在计算中.直线电机模组--BZD80N 语法:SELECT MAX(column_name) FROM table_nam ...
- mysql LAST()函数 语法
mysql LAST()函数 语法 作用:返回指定的字段中最后一个记录的值. 语法:SELECT LAST(column_name) FROM table_name 注释:可使用 ORDER BY 语 ...
- mysql FIRST()函数 语法
mysql FIRST()函数 语法 作用:返回指定的字段中第一个记录的值.直线电机选型 语法:SELECT FIRST(column_name) FROM table_name 注释:可使用 ORD ...
- mysql COUNT()函数 语法
mysql COUNT()函数 语法 作用:返回匹配指定条件的行数.博智达直线电机平台 语法:SELECT COUNT(*) FROM table_name mysql COUNT()函数 示例 // ...
随机推荐
- mac 下 pycharm 快捷键
用过快捷键立即感觉高大上了,最主要的是很方便啊!很强大 cmd b 跳转到声明处(cmd加鼠标) opt + 空格 显示符号代码 (esc退出窗口 回车进入代码) cmd []光标之前/后的位置 op ...
- iOS开发 - 第05篇 - 项目 - 12 - 图文混排
1.首页微博文字处理 对于之前微博项目中首页:微博文字中的用户名.话题.链接等文字须要高亮显示.表情字符串须要显示相应表情. 思路: 1>之前微博中的文字使用NSString,要达到不同文字的高 ...
- DDD架构Sample
http://dddsamplenet.codeplex.com/SourceControl/latest#DDDSample-Vanilla/Application/IBookingService. ...
- 魔幻特效,慢放世界,nova 3带你玩转抖音新技能
无论是明暗相交的都市夜色, 还是鲜亮风景前的逆光美人: 无论是瞬息飘飞的叶片, 还是动如脱兔的稚子孩童…… 色彩与速度,精彩的每一刻, 华为摄影都尽在掌握! (华为手机摄影效果) 一直以来,华为的图形 ...
- 【windows7 + Appium】之Appium安装以及其他工具安装配置
首先感谢虫师总结的教程:<appium新手入门>.以及:<appium新手入门(2)—— 安装 Android SDK> 目录: 安装Appium&安装node.js ...
- java实体类如果不重写toString方法,会如何?
先认识一下Object Object 类的 toString 方法 返回一个字符串,该字符串由类名(对象是该类的一个实例).at 标记符“@”和此对象哈希码的无符号十六进制表示组成.换句话说,该方法返 ...
- python 求下个月的最后一天
[1]根据当前月求上个月.下个月的最后一天 (1)求当前月最后一天 (2)求前一个月的最后一天 (3)求下一个月的最后一天 学习示例与应用实例,代码如下: #!/usr/bin/python3 #-* ...
- iOS开发---业务逻辑
iOS开发---业务逻辑 1. 业务逻辑 iOS的app开发的最终目的是要让用户使用, 用户使用app完成自己的事就是业务逻辑, 业务逻辑的是最显眼开发工作.但是业务逻辑对于开发任务来说, 只是露 ...
- poj 3468 Splay 树
大二上的时候.写过一个AVL的操作演示,今天一看Splay.发现和AVL事实上一样,加上线段树的基础,懒惰标记什么都知道.学起来轻松很多哦 我參考的模板来自这里 http://blog.csdn.n ...
- solr6.5的分词
1.配置solr6.5自带中文分词.复制/usr/local/solr/contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-6.5 ...