如何解决最后一个分号中的程序?

时间:2019-08-12 22:02:28

标签: mysql

我在行结束时遇到问题,以分号结尾时发生了一些问题,我收到的消息如下:

  

创建过程emp_info(IN p_first_name varchar(255),IN p_last_name varchar(255),OUT p_emp_no整数)从雇员那里开始e.emp_no INTO p_emp_no e在哪里e.first_name = p_first_name AND e.last_name = p_last_name错误1064.您的SQL语法错误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第9行的''附近使用

use employees;
drop procedure if exists emp_info;

CREATE PROCEDURE emp_info(IN p_first_name varchar(255), IN p_last_name varchar(255), OUT p_emp_no integer)
BEGIN
    SELECT
        e.emp_no
    INTO p_emp_no FROM
        employees e
    WHERE
        e.first_name = p_first_name
            AND e.last_name = p_last_name;
END$$

DELIMITER ;

1 个答案:

答案 0 :(得分:0)

您忘记以DELIMITER $$开头,而在END $$之间留有空格

drop procedure if exists emp_info;

DELIMIER $$

CREATE PROCEDURE emp_info(IN p_first_name varchar(255), IN p_last_name varchar(255), OUT p_emp_no integer)
BEGIN
    SELECT
        e.emp_no
    INTO p_emp_no FROM
        employees e
    WHERE
        e.first_name = p_first_name
            AND e.last_name = p_last_name;
END $$

DELIMITER ;