mysql - 分隔符不起作用,从 shell 运行 .sql 时出现“语法”错误
问题描述
我正在尝试制作一个简单的存储过程......经过一番探索,我发现我根本无法制作任何过程,即使是最简单的也不行。例如,从文档中运行此特定过程:
DELIMETER ;
DROP PORCEDURE IF EXISTS sp_dorepeat
DELIMETER //
CREATE PROCEDURE sp_dorepeat(p1 INT)
BEGIN
SET @x = 0;
REPEAT SET @x = @x + 1; UNTIL @x > p1 END REPEAT;
END //
DELIMETER ;
这在每一行上基本上是相同的语法错误。正如这里所建议的,更改 // 的 $$ 也没有任何效果。
值得知道的是,我以 root 身份运行 shell,所以没有任何限制。我的代码有什么问题吗?数据库是mysql 8.0
解决方案
当然可以,但要使用正确的关键字
分隔符 -> 分隔符
程序 -> 程序
推荐阅读
- computer-vision - 如何在给定距离计算相机的截锥体矩形?
- android - FireStore anyQuery.onComplete() 将始终在主线程上运行?这很奇怪
- java - 在Android(Java)中一首一首的播放歌曲
- objective-c - 编写退出objective-c类的快速协议
- junit - junit 5 如何重做 testng.xml
- docker - 从 jenkins 暴露 minikube 的 docker 守护进程
- php - 在codeiginter中读取配置文件中的数据库
- python - 我想通过 cv2.VideoCapture(0).release() 释放相机,但它也关闭了窗口。我想保留窗口并执行其他按钮单击事件
- c - 关于数据类型的分段错误?
- python - 奇怪的 SARMAX 适合 python statsmodels