mysql自定义函数写法_mysql自定义函数返回多列值

mysql自定义函数写法_mysql自定义函数返回多列值1、先查看函数功能是否开启:showvariableslike’%func%’;若是未开启则:SETGLOBALlog_bin_trust_function_creators=1;关闭则是:SETGLOBALlog_bin_trust_function_creators=0;2、自定义函数:delimiter$$;这个函数是合并两个字符串delimiter$$;DROPFUNC…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1、先查看函数功能是否开启:show variables like ‘%func%’;

若是未开启则:SET GLOBAL log_bin_trust_function_creators=1;

关闭则是:SET GLOBAL log_bin_trust_function_creators=0;

2、自定义函数:

delimiter $$;

这个函数是合并两个字符串

delimiter $$;

DROP FUNCTION IF EXISTS addMaterialName $$;

CREATE FUNCTION addMaterialName(materialName VARCHAR(255),cheName VARCHAR(255))

RETURNS VARCHAR(255)

BEGIN

DECLARE newName VARCHAR(255) DEFAULT ”;

IF(ISNULL(materialName) or materialName =”) THEN set newName = cheName;

ELSEIF (ISNULL(cheName) or TRIM(cheName) =”)

THEN set newName = materialName;

ELSE set newName = CONCAT(materialName,'(‘,cheName,’)’);

END IF;

RETURN newName;

END $$;

delimiter ;

3、查看函数:

show function status;

其它自定义函数:

SET FOREIGN_KEY_CHECKS=0;

— —————————-

— Function structure for caseChoose

— —————————-

DROP FUNCTION IF EXISTS `caseChoose`;

DELIMITER ;;

CREATE DEFINER=`root`@`localhost` FUNCTION `caseChoose`(`chooseNum` int) RETURNS int(11)

BEGIN

— case 选择欲绝

case chooseNum

when 1 THEN RETURN 100;

when 2 THEN RETURN 200;

else RETURN 300;

end case;

END

;;

DELIMITER ;

— —————————-

— Function structure for forNum

— —————————-

DROP FUNCTION IF EXISTS `forNum`;

DELIMITER ;;

CREATE DEFINER=`root`@`localhost` FUNCTION `forNum`(`chooseNum` int) RETURNS int(11)

BEGIN

— loop1 :标志位:开始循环

loop1: LOOP

SET chooseNum=chooseNum+1;

IF chooseNum=100

— 跳出本次循环

then ITERATE loop1;

elseif chooseNum = 200

— 跳出循环

THEN LEAVE loop1;

— if要有结束语句否则错误

end if;

— 结束循环 标志位

end loop loop1;

— 返回内容

RETURN chooseNum +1;

END

;;

DELIMITER ;

— —————————-

— Function structure for forNumRepeat

— —————————-

DROP FUNCTION IF EXISTS `forNumRepeat`;

DELIMITER ;;

CREATE DEFINER=`root`@`localhost` FUNCTION `forNumRepeat`(`chooseNum` int) RETURNS int(11)

BEGIN

— REPEAT语句是有条件控制的循环语句。当满足特定条件时,就会跳出循环语句

— [begin_label:] REPEAT

— statement_list

— UNTIL search_condition

— END REPEAT [end_label]

REPEAT

SET chooseNum=chooseNum+1;

— 当数据为100的时候结束语句

UNTIL chooseNum=100

END REPEAT ;

RETURN chooseNum + 2;

END

;;

DELIMITER ;

— —————————-

— Function structure for forNumWhile

— —————————-

DROP FUNCTION IF EXISTS `forNumWhile`;

DELIMITER ;;

CREATE DEFINER=`root`@`localhost` FUNCTION `forNumWhile`(`chooseNum` int) RETURNS int(11)

BEGIN

— while do 语句:

WHILE chooseNum<100 DO

SET chooseNum=chooseNum+1000;

END WHILE ;

return chooseNum;

END

;;

DELIMITER ;

— —————————-

— Function structure for ifNum

— —————————-

DROP FUNCTION IF EXISTS `ifNum`;

DELIMITER ;;

CREATE DEFINER=`root`@`localhost` FUNCTION `ifNum`(`id` int,`num` int) RETURNS int(11)

BEGIN

— if 条件判断语句

if id < 3 THEN RETURN id;

ELSEIF num > 3 then RETURN num;

else RETURN 123;

end if;

END

;;

DELIMITER ;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195870.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • virsh强制关闭虚拟机_kvm创建虚拟机

    virsh强制关闭虚拟机_kvm创建虚拟机virsh可以通过reboot、shutdown来重启或关闭对应的虚拟机。由于其原理是host通过发送acpi指令来控制虚拟机的电源,如果guest系统没有安装acpi服务器或该服务器没有启动,那么虚拟机将不会重启或关闭,那么只有使用destroy来强制关闭。安装acpid服务centos系统yuminstallacpidubuntu系统apt-getinstallacp…

    2022年8月11日
    5
  • 简述TCP四次挥手

    简述TCP四次挥手四次握手主要用到了两个标志位(ACK&FIN):ACK示意参考:TCP三次握手FIN:终止数据传输标志位—->当FIN为1的时候代表此数据为终止断开连接的请求四次挥手流程:由于TCP连接是双向传输的对等的模式即双工wiki百科定义:全双工(full-duplex)的系统允许二台设备间同时进行双向资料传输。全双工的系统可以用复线铁路类比。两个方向的车辆因使用不同的轨道,因此不会互相影响。一般的电话、手机就是全双工的系统,因为在讲话时同时也可以听到对方的声音意思是说

    2022年5月29日
    52
  • 华为OJ:2041 放苹果

    华为OJ:2041 放苹果

    2022年1月31日
    54
  • pycharm2022.01.13专业版激活码【2022免费激活】

    (pycharm2022.01.13专业版激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月31日
    103
  • mysql 字段包含字符串的方法

    mysql 字段包含字符串的方法方法一:likeSELECT*FROM表名WHERE字段名like”%字符%”;方法二:find_in_set()利用mysql字符串函数find_in_set();SELECT*FROMusersWHEREfind_in_set(‘字符’,字段名);这样是可以的,怎么理解呢?mysql有很多字符串函数find_in_set(str1,s…

    2025年6月15日
    0
  • eclipse使用–设置自动补全代码

    1、Java设置自动补全(1)设置自动补全依次点击Window–>Perferences(选项设置)–>Java–>Editor(编辑)–>ContentAssist(内容辅助/代码提示)然后在“ContentAssist”页面中,可以看到下面有一个AutoActivation中有一个Autoactivationtrigge…

    2022年4月4日
    783

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号