Mysql调试存储过程最简单的方法
以前同事告诉我用临时表插入变量数据来查看,但是这种方法过于麻烦,而且Mysql没有比较好的调试存储过程的工具。今天google了下发现可以用select + 变量名的方法来调试。。。真是让我汗颜啊。
具体方法:
在你的存储过程中加入如下语句:
SELECT 变量1,变量2;
然后用mysql自带的cmd程序进入mysql> 下。
call 你的存储过程名(输入参数1,@输出参数);(注:这里帮助下新同学,如果你的存储过程有输出变量,那么在这里只需要加 @ 然后跟任意变量名即可);
即可发现你的变量值被打印到了cmd下,简单吧?呵呵 希望能帮到诸位。
=============================
- 有如下一个存储过程
CREATE PROCEDURE `p_next_id`(kind_name VARCHAR(30), i_length int,currentSeqNo VARCHAR(3),OUT o_result INT) BEGIN SET @a= NULL;SET @b= NULL;SELECT id INTO @a FROM t_seq WHERE number= currentSeqNo and length= i_length ; IF (@a is null ) THENselect min(id) into @a FROM t_seq where length = i_length;select number INTO @b FROM t_seq WHERE id = @a;ELSEselect number INTO @b FROM t_seq WHERE id = @a+1; END IF; SELECT @b INTO o_result; END
- 在navicat中调用存储过程
- 写语句调用
call p_next_id('t_factory',2,'0',@result); -- 上面的存储过程含有四个参数,所以这里调用的时候,也需要传递4个参数:输入参数填写值,输出参数用变量表示@result select @result; -- 这句话是在控制台显示变量值
2. 窗口点击
直接点击运行时,在弹出输入框输入:'t_factory',2,'0',@result
- 追踪存储过程执行步骤
mysql不像oracle有plsqldevelper工具用来调试存储过程,所以有两简单的方式追踪执行过程:
- 用一张临时表,记录调试过程
- 直接在存储过程中,增加select @xxx,在控制台查看结果:
例如我把上面的存储过程中加一些查询语句(注意下面的红色语句)
CREATE PROCEDURE `p_next_id`(kind_name VARCHAR(30), i_length int,currentSeqNo VARCHAR(3),OUT o_result INT) BEGIN SET @a= NULL;SET @b= NULL;SELECT id INTO @a FROM t_seq WHERE number= currentSeqNo and length= i_length ; SELECT @a; IF (@a is null ) THENselect min(id) into @a FROM t_seq where length = i_length;select number INTO @b FROM t_seq WHERE id = @a; select @b;ELSEselect number INTO @b FROM t_seq WHERE id = @a+1; END IF; SELECT @b INTO o_result; END
转载于:https://www.cnblogs.com/kungfupanda/p/5645553.html
Mysql调试存储过程最简单的方法相关推荐
- navicat 怎么调试存储过程_Mysql调试存储过程最简单的方法
以前同事告诉我用临时表插入变量数据来查看,但是这种方法过于麻烦,而且Mysql没有比较好的调试存储过程的工具.今天google了下发现可以用select + 变量名的方法来调试...真是让我汗颜啊. ...
- toad for mysql调试存储过程_【oracle】oracle 调试 存储过程
F 20160106 oracle 几个小点 oracle 调试 存储过程 1.执行: 1)选中 过程名,右击--Test 2)子程序调用 2.重新编译: 选中 过程名,右击--Recompile 3 ...
- smarty mysql demo_PHP Smarty模版简单使用方法
本文实例讲述了PHP Smarty模版简单使用方法.分享给大家供大家参考,具体如下: Index.php: require('../libs/Smarty.class.php'); $smarty = ...
- mysql数据库存储过程及调用方法
mysql数据库存储过程及调用方法 mysql5.0以后就支持存储过程了,目前mysql的6.0Alpha版也已经推出.6.0不仅支持大型数据库如oracle等的绝大部分功 能,如存储过程.视图.触发 ...
- navicat 怎么调试存储过程_mysql如何调试存储过程
mysql调试存储过程的方法:首先用一张临时表,记录调试过程:然后直接在存储过程中,增加[select @xxx],并在控制台查看结果即可. [相关学习推荐:mysql学习] mysql调试存储过程的 ...
- 如果不能调试存储过程
突然想起用"本地系统帐户"登陆,而SQL Server作为服务运行,不能调试存储过程,其解决方法如下: 控制面板->管理工具->服务->MSSQL(默认的ID)- ...
- MySQL的存储过程和函数简单写法
什么是存储过程 简单的说,就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的方法: ps:存储过程跟触发器有点类似,都是一组SQL集,但是存储过程是主动调用的,且功 ...
- mySql存储过程,简单实现实例
原文来自 https://godruoyi.com/artiles/... 这个可以作为mySql的存储过程的入门资料. 存储过程简单来说,就是为以后的使用而保存的一条或多条MySQL语句的集合.可将 ...
- mysql mysqld.sock_MySQL笔记-最简单的方法来解决找不到mysqld.sock文件的问题
首先,环境:ubuntu 14.04,采用apt-get的方式安装的,手动安装可能路径设置稍有区别. 1.安装MySQL后,用命令行首次启动时发现找不到Mysqld.sock文件,提示: ERROR ...
- 最简版本mysql安装_最简单的配置mysql免安装版本的方法
为了让用户不需要自己运行mysql安装程序安装mysql数据库,软件发布时需要打包免安装版本的mysql.从mysql官网上直接下载的免安装版本需要各种配置,如果配置不好,很容易产生各种各样的问题.尤 ...
最新文章
- linux el5 el6 区别,Oracle ACFS Support on Linux詳解
- Python 机动车强制报废公告--参数分析与实现
- springboot banner在线生成_SpringBoot系列教程10--小花样之SpringBoot配置自定义Banner
- 双绞线直连法如何才能使两台电脑实现共享
- 如何从JSF获取JSON响应?
- 标题:a 和 a的区别
- Vue组件间通信:一个例子学会Vue组件-Vue.js学习总结)(转载)
- [Leetcode][第77题][JAVA][组合][回溯]
- 申请https协议总结
- CentOS 5/6下安装Axel插件加速yum下载
- python之调用科大讯飞的在线语音识别
- Pix2Pix代码解析
- Java使用word模板生成多个word文件,并导出一个zip压缩包
- 什么是二进制,为什么要用二进制
- win10清理_win10不再需要杀毒软件,同时建议不要安装垃圾清理类软件
- Codeforces 1023G:Pisces(最长反链)
- 微信摇一摇周边新功能上线
- 文件夹快速隐藏,文件夹选项中勾选隐藏目录依旧不能使其显示
- 决策树算法的总结归纳
- Linux命令之实时监控系统进程状态top
热门文章
- 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第6节 Lambda表达式_4_Lambda标准格式...
- CentOS 7 x64部署tomcat
- Python星号表达式
- 【转】Python基础-字符串
- tp读取配置文件机制
- 在idea配置jetty和创建(包、文件)javaWeb以及Servlet简单实现
- Jmeter在Windows上分布式压测遇到的坑
- Win32 编程
- 代码审查(咳咳......又降温了啊....!!!!)
- [纯技术讨论]从12306谈海量事务高速处理系统