mysql - **当我执行此过程时,出现错误 1064**

标签 mysql

CREATE DEFINER=`root`@`localhost` PROCEDURE `GetStateList`(IN _CountryName VARCHAR(255))
BEGIN
    DECLARE @CCode VARCHAR(50)
SET @CCode = (SELECT CountryID  from countrylist where CountryName = _CountryName);
  SELECT @CCode;

END

最佳答案

您需要将分隔符重新定义为 ; 之外的其他内容(例如:$$)。最后,将限制器重置回 ;。此外,Declare 语句中缺少一个分号:

DELIMITER $$

CREATE DEFINER=`root`@`localhost` PROCEDURE `GetStateList`(IN _CountryName VARCHAR(255))

BEGIN
    DECLARE @CCode VARCHAR(50); -- semicolon was missing here
    SET @CCode = (SELECT CountryID  
                  from countrylist 
                  where CountryName = _CountryName);

    SELECT @CCode;

END$$

DELIMITER ;

关于mysql - **当我执行此过程时,出现错误 1064**,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52962481/

相关文章:

日期时间字段上的 MySQL 索引不是 RANGE 类型,而是使用 INDEX 类型

mysql - jparepository 无法解析为类型

php - 优惠券代码统计

mysql - WordPress mysql 密码哈希

php - INSERT INTO 电子邮件地址中的 MySQL 语法错误

java - 无法初始化类 com.mysql.jdbc.StringUtils

php - PHP 中的 while 和 foreach 循环

mysql - "com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure"

mysql - 选择按特定条件对多条记录进行分组

mysql - 如何将excel数据导出到Mysql表中