如何正确在 MySQL 存储过程中使用 DELIMITER?


正确的用法如下 -

DELIMITER //
CREATE PROCEDURE yourStoredProcedureName()
BEGIN
 IF  yourCondition then
     yourStatement1 ;
else
    yourStatement2 ;

END IF ;
END
//

DELIMITER ;

我们现在看一个例子并创建一个存储过程 -

mysql> DELIMITER //
mysql> CREATE PROCEDURE delimiter_demo()
   -> BEGIN
   -> IF 1 THEN
   -> SELECT "If condition will always true";
   -> else
   -> select "No" ;
   -> END IF ;
   -> END
   -> //
Query OK, 0 rows affected (0.17 sec)

mysql> DELIMITER ;

你现在可以使用 CALL 命令来调用这个存储过程

mysql> call delimiter_demo();

这会产生以下输出 -

+-------------------------------+
| If condition will always true |
+-------------------------------+
| If condition will always true |
+-------------------------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.02 sec)

更新于: 17-Dec-2019

269 次浏览

开始您的职业生涯 生涯

通过完成课程获得认证

开始使用
广告