Mysql自定义函数总结
存储函数
创建存储函数,需要使用CREATE FUNCTION语句,基本语法如下:
CREATE FUNCTION func_name([func_parameter])
RETURNS TYPE
[characteristics...] routine_body
CREATE FUNCTION为用来创建存储函数的关键字;func_name表示存储函数的名称
func_parameter为存储函数的参数列表,参数列表如下
其中,IN表示输入参数,OUT表示输出参数,INOUT表示既可以输入也可以输出;
param_name表示参数名称;type表示参数类型,该类型可以是MYSQL数据库中的任意类型
RETURNS TYPE语句表示函数返回数据的类型;characteristics:指定存储函数的特性,取值与创建存储过程时相同
创建存储函数,名称为NameByT,该函数返回SELECT语句的查询结果,数值类型为字符串型
CREATE FUNCTION SelectByT()
RETURNS VARCHAR(255);
RETURN (SELECT NAME FROM T3 WHERE ID=3);
注意:RETURNS CHAR(50)数据类型的时候,RETURNS 是有S的,而RETURN (SELECT NAME FROM t3 WHERE id=2)的时候RETURN是没有S的
所以有时候大家可能觉得MYSQL很烦,谁不知是自己写错了
这里有一个方法,就是利用SQLYOG的代码格式化功能,选中要格式化的代码,然后按F12,如果能格式化,证明你的代码没有问题,如果不能格式化
证明你写的代码有问题!!!
调用函数
变量的使用
变量可以在子程序中声明并使用,这些变量的作用范围是在BEGIN...END程序中
1、定义变量
在存储过程中定义变量
DECLARE var_name[,varname]...date_type[DEFAULT VALUE];
var_name为局部变量的名称。DEFAULT VALUE子句给变量提供一个默认值。值除了可以被声明为一个常数外,还可以被指定为一个表达式。
如果没有DEFAULT子句,初始值为NULL
DECLARE MYPARAM INT DEFAULT 100;
2、为变量赋值
定义变量之后,为变量赋值可以改变变量的默认值,MYSQL中使用SET语句为变量赋值
SET var_name=expr[,var_name=expr]...
在存储过程中的SET语句是一般SET语句的扩展版本。
被SET的变量可能是子程序内的变量,或者是全局服务器变量,如系统变量或者用户变量
他运行SET a=x,b=y,....
声明3个变量,分别为var1,var2和var3
DECLARE par1,par2,par3 INT;
SET par1=10,par2=10;
SET par3=par1+par2;
MYSQL中还可以通过SELECT...INTO为一个或多个变量赋值
DECLARE NAME CHAR(50);
DECLARE ID DECIMAL(8,2);
SELECT NAME, ID INTO NAME ,ID FROM T3;
Mysql自定义函数总结的更多相关文章
- mysql 自定义函数
原文:http://www.cnblogs.com/zhangminghui/p/4113160.html 引言 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自定义函数(四十六)
MySQL自定义函数 一.什么是MYSQL自定义函数? mysql当中的自定义函数,我们简称为UDF,它实际上是一种对MySQL扩展的途径,其用法与内置函数相同. 二.自定义函数应该具备哪些条件? 我 ...
- MySQL自定义函数
用户自定义函数(user-defined function,UDF)是一种对MySQL扩展的途径,其用法与内置函数相同. 自定义函数两个必要条件: 参数:可以有另个或多个 返回值:只能有一个 创建自定 ...
- MySQL自定义函数用法详解-复合结构自定义变量/流程控制
自定义函数 (user-defined function UDF)就是用一个象ABS() 或 CONCAT()这样的固有(内建)函数一样作用的新函数去扩展MySQL. 所以UDF是对MySQL功能的一 ...
- MySQL自定义函数与存储过程
1.前置条件 MySQL数据库中存在表user_info,其结构和数据如下: mysql> desc user_info; +-----------+----------+------+---- ...
- mysql自定义函数语法
创建函数 DELIMITER $$DROP FUNCTION IF EXISTS `test` $$CREATE FUNCTION `test`(a int ,b int)RETURNS int BE ...
- java mysql自定义函数UDF之调用c函数
正如sqlite可以定义自定义函数,它是通过API定义c函数的,不像其他,如这里的mysql.sqlite提供原生接口就可以方便的调用其他语言的方法,同样的mysql也支持调用其它语言的方法. goo ...
- MySql自定义函数-关于保留小数位的特殊需求
背景 昨天,关于价格详情接口又来了一个小需求,而且有点特别.价格显示:改为保留两位小数,没错,就是保留两位小数.大家是不是想说这没啥特别的...数据库都有函数搞定了.例如四舍五入的ROUND(x,d) ...
随机推荐
- 移动设备优先viewport
Bootstrap 3 的设计目标是移动设备优先,然后才是桌面设备.这实际上是一个非常及时的转变,因为现在越来越多的用户使用移动设备. 为了让 Bootstrap 开发的网站对移动设备友好,确保适当的 ...
- sell -- 解码16进制unicode
1. //System.out.println("decodeUnicode:" + decodeUnicode("0049"));//I public sta ...
- notepad++的环境变量
notepad++的环境变量:当前目录:$(CURRENT_DIRECTORY) cmd /k cd /d $(CURRENT_DIRECTORY)文件名:$(NAME_PART)路径名:$(CURR ...
- focus 、blur和focusin,focusout的区别
$('input').focus(function(){///当前元素触发事件(特指表单) }); $('input').blur(function(){//当前元素触发事件 }); $('div') ...
- EncodingAESKey
关键字:EncodingAESKey 公众平台消息体签名及加解密方案概述 1.新增消息体签名验证,用于公众平台和公众账号验证消息体的正确性 2.针对推送给微信公众账号的普通消息和事件消息,以及推送给设 ...
- 选择时区的命令tzselect
选择时区的命令tzselect tzselectPlease identify a location so that time zone rules can be set correctly.Plea ...
- Html语言基础
接触html有一段时间了,对html做简单的总结. 1.HTML基础标签 <p>这是段落</p> 浏览器中效果: 这是段落 -------------------------- ...
- JAVA中通过代码操作PC内容进行功能的实现
1.添加计划任务,用户项目中需要添加定时提醒功能: 计划任务只需要写一个继承java.util.TimerTask的类,覆盖其中的run方法即可,例如: import java.util.*; p ...
- Android之绚丽的图片游览效果--有点像W7效果,透明的倒影,层叠的图片,渐变的颜色透明度
这里转载一个牛人的博客:http://www.cnblogs.com/tankaixiong/archive/2011/02/24/1964340.html 下面,是我参照他的博客实现的一个效果图.这 ...
- android AlarmManager 详解
在开发互联网应用时候,我们常常要使用心跳来保证客户端与服务器的连接.怎么完成心跳很关键,在说道客户端心跳功能时,如果使用Timer或者专门开起一个线程来做心跳的工作,会浪费CPU工作时间,而且也会更多 ...