当前位置: 首页 > 知识库问答 >
问题:

带IN的存储过程

秦新立
2023-03-14

希望大家都做得好!

需要存储过程方面的帮助。创建过程时出现以下错误。非常感谢您的帮助。

错误:#1064-您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解使用near'CREATE PROCEDURE regi_email(在电子邮件VARCHAR(255)中,counti OUT INT)的正确语法

开始

“在3号线

我的程序如下:

DELIMITER $$

USE hsiedwzw_booking

CREATE PROCEDURE regi_email (IN email VARCHAR(255), counti OUT INT)

BEGIN

DECLARE bContinue INTEGER;

SELECT COUNT(*) INTO bContinue FROM parent_reg_email WHERE reg_email =email;

    IF bContinue=0;

THEN SET @counti=1;

    ELSE SELECT COUNT(*) INTO bContinue FROM ets_bookings WHERE c_email =email;

         IF bContinue=0;

         SET @counti=2;


         ELSE SET @counti=3;

END IF;

END
$$
DELIMITER;

共有1个答案

和选
2023-03-14

您在这一行有错误,需要更改如下:

CREATE PROCEDURE regi_email (IN email VARCHAR(255),OUT counti  INT)

编辑:

#DEFINER=`root`@`localhost`  is for your server ;;

USE hsiedwzw_booking;

DELIMITER $$

CREATE DEFINER=`root`@`localhost` PROCEDURE `activeFor_accounthead`(IN email VARCHAR(255),OUT  counti INT)

BEGIN

DECLARE bContinue INTEGER;

SELECT COUNT(*) INTO bContinue FROM parent_reg_email WHERE reg_email =email;

    IF bContinue=0;

THEN SET @counti=1;

    ELSE SELECT COUNT(*) INTO bContinue FROM ets_bookings WHERE c_email =email;

         IF bContinue=0;

         SET @counti=2;


         ELSE SET @counti=3;

END IF;
END$$
DELIMITER ;
 类似资料:
  • SimpleJdbcCall类可用于使用IN和OUT参数调用存储过程。 您可以在使用Apache Derby,DB2,MySQL,Microsoft SQL Server,Oracle和Sybase等RDBMS时使用此方法。 要理解这种方法,让我们使用可以在MySQL TEST数据库中使用以下DDL创建的Student表 - CREATE TABLE Student( ID INT NO

  • 问题内容: 我正在创建一个存储过程,我要将逗号分隔的ID列表作为变量传递给该存储过程。我想将Ids用作select语句,例如: 显然,我得到的错误是varchar而不是INT,但是如何转换逗号分隔列表? 问题答案: 对于这些情况,我使用此表函数,您可以根据需要进行调整: 在您的存储过程中,您将像这样使用它:

  • 我无法在spring data jpa(版本1.11.16)和oracle服务器中使用带有游标的存储过程。 存储库: 实体上的注释: 这是我调用时的java响应: ↓ 2018-12-11 13:07:26.047调试24164---[nio-9090-exec-2]org.hibernate。SQL:{调用POC_PKG_GEO.PRO_RETURN_REGION(?,)}Hibernate:{

  • 我想用java调用一个记录类型表的存储过程。记录只包含数字,但我必须传递整数和小数。 我还没有为我的问题找到合适的解决方案(无论是OracleCallableStatement还是StoredProcedurey)。

  • 数据访问层支持存储过程调用,调用数据库存储过程使用下面的方法: $resultSet = Db::query('call procedure_name'); foreach ($resultSet as $result) { } 存储过程返回的是一个数据集,如果你的存储过程不需要返回任何的数据,那么也可以使用execute方法: Db::execute('call procedure_name'

  • 问题内容: 我试图在postgres 9.3上使用sql调用函数内的函数。 这个问题与我的另一篇文章有关。 我写了下面的函数。到目前为止,我还没有合并任何类型的save-output(COPY)语句,因此我试图通过创建嵌套函数print-out函数来解决此问题。 以上功能有效。 尝试创建嵌套函数。 调用嵌套函数。 输出 上面给出了这个。但是,当在print_out()中将arg1,arg2替换为’