0
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
4

1 回答 1

0

您需要将 Delimiter 重新定义为$$;. 最后,将限制器重置回;。此外,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 ;
于 2018-10-24T06:46:43.023 回答