环境
- MySQL 5.6.20
写在前
近日,一个好友@随风飘散,问我一个关于procedure在MySQL中使用出现的一些问题。在解决后做一个简单的总结:
正文
下面这段代码来自SQL Server,意思是创建一个procedure, 查询表test_user所有的记录。
1 |
|
将这段代码原封不动的复制到MySQL中执行
可以看出,很明显是语法不正确出现的问题。经查阅相关文档,得出以下代码段
1 | DROP PROCEDURE IF EXISTS getUsers; |
执行结果如下:
可以看出,procedure 在 sql server 和 mysql 中使用的差别还是很大的, 有几个重要的区别:
- 使用分隔符包含存储过程
- 不再需要AS
- 使用CALL代替EXECUTE
解决了这个问题,甚是感觉到自己实践不足,遇到的问题太少,希望自己能遇到更多的问题,提高自己的同时,帮助更多的人解决问题。