我在行结束时遇到问题,以分号结尾时发生了一些问题,我收到的消息如下:
创建过程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 ;
答案 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 ;