MySQL 存储过程:我做错了什么?

MySQL Stored Procedure: What I am doing wrong?

以下代码有什么问题(很基础的问题请见谅)

错误代码:1064。您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在第 3 行

附近使用的正确语法
CREATE PROCEDURE `getCleanData` ()
BEGIN
    replace into CLEAN_TBL SELECT mycolumn  FROM DIRTY_TBL;
END;

您需要将 DELIMITER 更改为默认值 ; 以外的内容。

DELIMITER 表示命令何时结束。默认情况下,分隔符是 ;。由于过程本身在其语法(语句结尾)中使用 ;,因此您需要将 DELIMITER 更改为其他内容,以便执行完整的过程代码。

步骤 01:更改服务器分隔符 --> DELIMITER //

步骤 02:使用您在步骤 01 中使用的新分隔符创建过程

CREATE PROCEDURE `getCleanData` ()
BEGIN
 replace into CLEAN_TBL SELECT mycolumn  FROM DIRTY_TBL;
END
//

不要尝试恢复分隔符

欢迎专家的正确做法,因为我不确定什么是正确的方法.....但我觉得没有 CREATE PROCEDURE 的默认分隔符是错误的。