mysql存储过程输出结果集
概述一直以来,觉得MySQL中使用\G参数改变输出结果集的显示方式非常好用,尤其是在命令行界面。但是ORACLE数据库没有这个功能,今天在搜索到Tom大师的一篇博文时,发现大师用一个存储过程print...
2024.11.15开发MySQL存储过程时,经常需要写循环逻辑;MySQL中支持三种循环分别是WHILE循环,REPEAT循环以及LOOP循环。
循环语句的格式如下:
WHILE……DO……END WHILEREPEAT……UNTIL END REPEATLOOP……END LOOP2、WHILE语句[begin_label:] WHILE search_condition DO statement_listEND WHILE [end_label]WHILE 只要search_condition表达式为真,就会重复执行statement_list语句。 statement_list由一个或多个SQL语句组成,每个语句以分号(;)隔开。
实例:
# 1.创建存储过程delimiter //CREATE PROCEDURE dowhile()BEGIN declare v1 INT DEFAULT 5; WHILE v1 > 0 DO select v1; SET v1 = v1 - 1; END WHILE;END;//# 2.调用存储过程 call dowhile();3、REPEAT语句[begin_label:] REPEAT statement_listUNTIL search_conditionEND REPEAT [end_label]REPEAT语句当search_condition结果为真时终止。REPEAT语句至少执行一次statement_list。
实例:
# 1.创建存储过程delimiter //CREATE PROCEDURE dorepeat(p1 INT)BEGINSET @x = 0;REPEATSET @x = @x + 1;UNTIL @x > p1 END REPEAT;END//# 2.调用存储过程CALL dorepeat(1000);select @x;3、LOOP语句[begin_label:] LOOP statement_listEND LOOP [end_label]LOOP语句实现了一个简单的循环结构,通常通过LEAVE语句来完成退出循环。
实例:
# 1.创建存储过程delimiter //drop procedure if exists doiterate;CREATE PROCEDURE doiterate(p1 INT)BEGIN label1: LOOP SET p1 = p1 + 1; select p1; IF p1 = 10 THEN LEAVE label1; END IF; END LOOP label1; SET @x = p1;END;//# 2.调用存储过程 call doiterate(5);select @x;概述一直以来,觉得MySQL中使用\G参数改变输出结果集的显示方式非常好用,尤其是在命令行界面。但是ORACLE数据库没有这个功能,今天在搜索到Tom大师的一篇博文时,发现大师用一个存储过程print...
2024.11.15目录二:MySQL存储过程变量及赋值三:MySQL存储过程的创建2. 使用navicat创建一个存储过程3. 存储过程中的参数:IN OUT INOUT四:MySQL存储过程的管理1. MySQL存储...
2024.11.15前言:方向:java -Spring MVC - Mybatis - SQL实战目标:Mybatis中调用存储过程,接收存储过程的返回数据;案例必备小知识:Spring MVC , Mybatis ,...
2024.11.15什么是存储过程简单的说,就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的方法;ps:存储过程跟触发器有点类似,都是一组SQL集,但是存储过程是主动调用的,且功能比...
2024.11.15前言 日常开发中,可能会用到数据库的自定义函数/存储过程,本文记录MySQL对自定义函数与存储过程的创建、使用、删除的使用 通用语法 事实上,可以认为存储过程就是没有返回值的函数,创建/使用...
2024.11.12