广告
返回顶部
首页 > 资讯 > 数据库 >MySQL中创建存储过程出现报错如何解决
  • 593
分享到

MySQL中创建存储过程出现报错如何解决

2024-04-02 19:04:59 593人浏览 安东尼
摘要

这期内容当中小编将会给大家带来有关Mysql中创建存储过程出现报错如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 mysql>

这期内容当中小编将会给大家带来有关Mysql中创建存储过程出现报错如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

mysql> delimiter $$
mysql> CREATE FUNCTioN check_rollbackPatch(THE_REFERNCE_LABEL VARCHAR(75), THE_COLUMN_NAME VARCHAR(75), THE_INSTALL_VERSION VARCHAR(75), THE_VERSION_LEVEL_TABLE_NAME VARCHAR(75))
    ->     RETURNS INTEGER DETERMINISTIC
    ->     BEGIN
    ->         DECLARE INSTALL_VERSION VARCHAR(80) DEFAULT NULL;
    ->         DECLARE REFERENCE_LABEL VARCHAR(80) DEFAULT NULL;
    ->         DECLARE THE_QUERY VARCHAR(500) DEFAULT NULL;
    ->         DECLARE too_many_rows CONDITION FOR 1172;
    ->         DECLARE CONTINUE HANDLER FOR too_many_rows
    ->         BEGIN
    ->         SELECT concat('[INFO]    Several ', THE_REFERNCE_LABEL, ' references found.');
    ->         RETURN 0;
    ->         END;
    ->         DECLARE CONTINUE HANDLER FOR NOT FOUND
    ->         BEGIN
    ->        
    ->         RETURN 1;
    ->         END;        
    ->         SELECT concat('', THE_COLUMN_NAME, ', C_INSTALL_VERSION') INTO @V_PART1;
    ->         SELECT concat(THE_COLUMN_NAME, '=''', THE_REFERNCE_LABEL, ''' and C_INSTALL_VERSION=''', THE_INSTALL_VERSION, '''') INTO @V_PART2;
    ->         SELECT fORMat_selectQuery(THE_VERSION_LEVEL_TABLE_NAME, @V_PART1, @V_PART2) INTO THE_QUERY;
    ->        
    ->        
    ->        
    ->         RETURN 0;
    ->     END $$
ERROR 1415 (0A000): Not allowed to return a result set from a function
mysql> delimiter ;

报错原因:
在MySQL的function里,不能使用SELECT语句来返回结果集,会报错。

注释掉后,报错消失
mysql> delimiter $$
mysql> CREATE FUNCTION check_rollbackPatch(THE_REFERNCE_LABEL VARCHAR(75), THE_COLUMN_NAME VARCHAR(75), THE_INSTALL_VERSION VARCHAR(75), THE_VERSION_LEVEL_TABLE_NAME VARCHAR(75))
    ->     RETURNS INTEGER DETERMINISTIC
    ->     BEGIN
    ->         DECLARE INSTALL_VERSION VARCHAR(80) DEFAULT NULL;
    ->         DECLARE REFERENCE_LABEL VARCHAR(80) DEFAULT NULL;
    ->         DECLARE THE_QUERY VARCHAR(500) DEFAULT NULL;
    ->         DECLARE too_many_rows CONDITION FOR 1172;
    ->         DECLARE CONTINUE HANDLER FOR too_many_rows
    ->         BEGIN
    ->        
    ->         RETURN 0;
    ->         END;
    ->         DECLARE CONTINUE HANDLER FOR NOT FOUND
    ->         BEGIN
    ->        
    ->         RETURN 1;
    ->         END;        
    ->         SELECT concat('', THE_COLUMN_NAME, ', C_INSTALL_VERSION') INTO @V_PART1;
    ->         SELECT concat(THE_COLUMN_NAME, '=''', THE_REFERNCE_LABEL, ''' and C_INSTALL_VERSION=''', THE_INSTALL_VERSION, '''') INTO @V_PART2;
    ->         SELECT format_selectQuery(THE_VERSION_LEVEL_TABLE_NAME, @V_PART1, @V_PART2) INTO THE_QUERY;
    ->        
    ->        
    ->        
    ->         RETURN 0;
    ->     END $$
Query OK, 0 rows affected (0.00 sec)

mysql> delimiter ;

上述就是小编为大家分享的MySQL中创建存储过程出现报错如何解决了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL中创建存储过程出现报错如何解决

本文链接: https://www.lsjlt.com/news/57241.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL中创建存储过程出现报错如何解决
    这期内容当中小编将会给大家带来有关MySQL中创建存储过程出现报错如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 mysql> ...
    99+
    2022-10-18
  • MySQL中创建外键出现报错如何解决
    本篇文章为大家展示了MySQL中创建外键出现报错如何解决,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 mysql> create...
    99+
    2022-10-18
  • mysql如何创建存储过程
    小编给大家分享一下mysql如何创建存储过程,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.创建存储过程p3 (先更改结束符 ...
    99+
    2022-10-19
  • 如何实现MySQL中创建存储过程的语句?
    如何实现MySQL中创建存储过程的语句?MySQL是一种常用的关系型数据库管理系统,它提供了丰富的功能来实现数据的管理和查询。其中,存储过程是一种重要的数据库对象,它可以帮助我们封装一系列的SQL语句和逻辑,以便于重复使用和维护。本文将介绍...
    99+
    2023-11-08
    数据库编程 MySQL存储过程 创建过程语句
  • conda创建环境过程中出现“Solving environment: failed”报错的解决办法
    前言 在安装完Anaconda之后,打开Anaconda Prompt,若出现”(base)”说明Anaconda安装成功。 具体Anaconda的安装后续会出教程   在创建环境之前,要先添加国内镜...
    99+
    2023-09-29
    python 深度学习 机器学习
  • mysql如何创建存储过程及函数
    这篇文章主要为大家展示了“mysql如何创建存储过程及函数”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql如何创建存储过程及函数”这篇文章吧。1. 存储过程1.1. 基本语法create...
    99+
    2023-06-21
  • SQL中如何创建存储过程
    今天就跟大家聊聊有关SQL中如何创建存储过程,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。创建存储过程 表名和比较字段可以做参数的存储过程 ...
    99+
    2022-10-18
  • mysql存储过程异常如何解决
    这篇文章主要介绍“mysql存储过程异常如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mysql存储过程异常如何解决”文章能帮助大家解决问题。 ...
    99+
    2023-05-25
    mysql
  • 如何解决MySQL报错:无法创建表,表已存在
    当MySQL报错提示“无法创建表,表已存在”时,说明要创建的表名在数据库中已经存在了。解决这个问题有两种方法:1. 更改表名:可以尝...
    99+
    2023-10-10
    MySQL
  • MySQL存储过程中出现异常如何处理
    下面一起来了解下MySQL存储过程中出现异常如何处理,相信大家看完肯定会受益匪浅,文字在精不在多,希望MySQL存储过程中出现异常如何处理这篇短内容是你想要的。      &n...
    99+
    2022-10-18
  • 如何创建带有 IN 参数的 MySQL 存储过程?
    为了让它理解,我们使用名为“student_info”的表,它具有以下值 -mysql> Select * from student_info; +-----+---------+------------+---------...
    99+
    2023-10-22
  • MYSQL的floor出现报错如何解决
    不知道大家之前对类似MYSQL的floor出现报错如何解决的文章有无了解,今天我在这里给大家再简单的讲讲。感兴趣的话就一起来看看正文部分吧,相信看完MYSQL的floor出现报错如何解决你一定会有所收获的。...
    99+
    2022-10-18
  • mysql与navicat建立连接时出现1251报错如何解决
    本篇文章为大家展示了mysql与navicat建立连接时出现1251报错如何解决,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在网上查的是,出现这个原因是mysql...
    99+
    2022-10-18
  • windows创建转储期间出错失败蓝屏如何解决
    这篇文章主要介绍“windows创建转储期间出错失败蓝屏如何解决”,在日常操作中,相信很多人在windows创建转储期间出错失败蓝屏如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”windows创建转储...
    99+
    2023-07-01
  • 我们如何创建没有“BEGIN”和“END”的MySQL存储过程?
    我们可以创建没有“BEGIN”和“END”的MySQL存储过程,就像使用它们创建存储过程一样,唯一的事情就是省略BEGIN和END。在下面的示例中,我们创建一个不带“BEGIN”和“END”的存储过程来获取表中的所有行 -示例mysql&g...
    99+
    2023-10-22
  • 如何解决mysql存储过程太慢的问题
    小编给大家分享一下如何解决mysql存储过程太慢的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mysql存储过程太慢的解决...
    99+
    2022-10-18
  • Mysql出现 ERROR 1396 (HY000) 报错该如何解决
    下文给大家带来关于Mysql出现 ERROR 1396 (HY000) 报错该如何解决,感兴趣的话就一起来看看这篇文章吧,相信看完Mysql出现 ERROR 1396 (HY000) 报错该如何解决对大家多...
    99+
    2022-10-18
  • 如何解决MySQL报错:无法创建/写入文件
    当MySQL报错无法创建/写入文件时,可能是由以下原因引起的:1. 权限问题:检查MySQL是否具有足够的权限来创建/写入文件。确保...
    99+
    2023-10-12
    MySQL
  • 如何解决MySQL报错:无法创建表,错误编号:139
    MySQL报错:无法创建表,错误编号:139 是由于创建表时的语法错误导致的。解决方法如下:1. 检查创建表的语法是否正确,包括表名...
    99+
    2023-10-18
    MySQL
  • 如何解决MySQL报错:无法创建表,错误编号:150
    MySQL报错:无法创建表,错误编号:150通常是由于外键约束导致的。解决此问题,可以按照以下步骤进行操作:1. 检查表之间的关系:...
    99+
    2023-10-18
    MySQL
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作