返回顶部
首页 > 资讯 > 数据库 >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://lsjlt.com/news/57241.html(转载时请注明来源链接)

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

猜你喜欢
  • MySQL中创建存储过程出现报错如何解决
    这期内容当中小编将会给大家带来有关MySQL中创建存储过程出现报错如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 mysql> ...
    99+
    2024-04-02
  • mysql如何创建存储过程
    小编给大家分享一下mysql如何创建存储过程,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.创建存储过程p3 (先更改结束符 ...
    99+
    2024-04-02
  • MySQL中创建外键出现报错如何解决
    本篇文章为大家展示了MySQL中创建外键出现报错如何解决,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 mysql> create...
    99+
    2024-04-02
  • 如何实现MySQL中创建存储过程的语句?
    如何实现MySQL中创建存储过程的语句?MySQL是一种常用的关系型数据库管理系统,它提供了丰富的功能来实现数据的管理和查询。其中,存储过程是一种重要的数据库对象,它可以帮助我们封装一系列的SQL语句和逻辑,以便于重复使用和维护。本文将介绍...
    99+
    2023-11-08
    数据库编程 MySQL存储过程 创建过程语句
  • SQL中如何创建存储过程
    今天就跟大家聊聊有关SQL中如何创建存储过程,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。创建存储过程 表名和比较字段可以做参数的存储过程 ...
    99+
    2024-04-02
  • mysql中怎么创建存储过程
    mysql中怎么创建存储过程,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。mysql创建存储过程和函数 一个存储程序是可以被存储在服...
    99+
    2024-04-02
  • mysql如何创建存储过程及函数
    这篇文章主要为大家展示了“mysql如何创建存储过程及函数”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql如何创建存储过程及函数”这篇文章吧。1. 存储过程1.1. 基本语法create...
    99+
    2023-06-21
  • 如何在MySQL中创建和调用存储过程
    在MySQL中,可以使用以下步骤来创建和调用存储过程: 创建存储过程: DELIMITER // CREATE PROCEDUR...
    99+
    2024-04-09
    MySQL
  • sqlserver如何创建存储过程
    要在SQL Server中创建存储过程,可以按照以下步骤进行操作: 打开SQL Server Management Studio...
    99+
    2024-04-30
    sqlserver
  • oracle如何创建存储过程
    在 oracle 数据库中创建存储过程需要五个步骤:登录数据库。使用 create procedure 语法创建存储过程。定义输入、输出或输入输出参数。编写包含 pl/sql 语句的存储...
    99+
    2024-06-12
    oracle
  • 如何创建存储过程在SQLServer中
    在SQL Server中创建存储过程需要使用Transact-SQL语言(T-SQL)编写代码。下面是一个简单的示例,用于创建一个存...
    99+
    2024-04-09
    SQLServer
  • mysql调用存储过程报错怎么解决
    当在MySQL中调用存储过程时出现错误,可以尝试以下解决方法: 检查存储过程的语法:确保存储过程的语法正确,没有语法错误。可以通...
    99+
    2024-04-09
    mysql
  • 如何用navicat创建存储过程
    可使用 navicat 创建存储过程,步骤如下:打开数据库对象列表,展开 "procedures" 节点。右键单击 "procedures" 节点并选择 "create procedur...
    99+
    2024-06-13
    navicat
  • 如何退出MySQL存储过程?
    我们可以借助 LEAVE 命令退出 MySQL 存储过程。 以下是语法。 Leave yourLabelName; 下面是一个例子。在这里,我们正在创建一个新过程。 mysql> delimiter // mysql> CREATE ...
    99+
    2023-10-22
  • mysql创建存储过程及函数详解
    目录1. 存储过程1.1. 基本语法1.2 创建一个指定执行权限的存储过程1.3 DELIMITER 的使用2. 创建函数 1. 存储过程 1.1. 基本语法 create pr...
    99+
    2024-04-02
  • MySQL存储过程中出现异常如何处理
    下面一起来了解下MySQL存储过程中出现异常如何处理,相信大家看完肯定会受益匪浅,文字在精不在多,希望MySQL存储过程中出现异常如何处理这篇短内容是你想要的。      &n...
    99+
    2024-04-02
  • mysql存储过程异常如何解决
    这篇文章主要介绍“mysql存储过程异常如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mysql存储过程异常如何解决”文章能帮助大家解决问题。 ...
    99+
    2023-05-25
    mysql
  • 详解MySQL存储过程的创建和调用
    目录前言存储过程(Stored Procedure):一、存储过程的创建和调用1、创建存储过程2、调用存储过程:call sp_name[(传参)];3、存储过程体4、为语句块贴标签...
    99+
    2024-04-02
  • conda创建环境过程中出现“Solving environment: failed”报错的解决办法
    前言 在安装完Anaconda之后,打开Anaconda Prompt,若出现”(base)”说明Anaconda安装成功。 具体Anaconda的安装后续会出教程   在创建环境之前,要先添加国内镜...
    99+
    2023-09-29
    python 深度学习 机器学习
  • 如何创建带有 IN 参数的 MySQL 存储过程?
    为了让它理解,我们使用名为“student_info”的表,它具有以下值 -mysql> Select * from student_info; +-----+---------+------------+---------...
    99+
    2023-10-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作