创建一个存储过程,该存储过程在输入该行的ID时将其删除

时间:2019-04-08 14:32:03

标签: mysql sql

我在语法和逻辑上都对存储过程有疑问。在sqlfiddle.com上尝试时出现以下错误。

我也不确定逻辑是否正确。无论如何,我可以通过输入ID进行检查,查询将返回一个表,其中包含ID的行已被删除?

创建一个名为delete_id的过程,该过程将删除ID所在的行

CREATE PROCEDURE DELETE_ID (ID_INPUT IN INT)
AS
BEGIN
  DELETE FROM TABLE ALBUM WHERE ID=ID_INPUT;
END;

预期结果:输入ID,SQL会删除包含ID的行

实际结果:

  

您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第3行的“ TABLE ALBUM WHERE ID = ID_INPUT”附近使用

1 个答案:

答案 0 :(得分:0)

您需要在代码的开头添加“ DELIMITER //”,并在结尾添加“ //”。所以您的代码应该像

DELIMITER //

CREATE PROCEDURE `DELETE_ID`(IN `ID_INPUT` INT)   
BEGIN

DELETE FROM `ALBUM` WHERE `ID` = ID_INPUT;

END //
相关问题