如何使用 cmd 在 SQL 中创建存储过程?
Posted
技术标签:
【中文标题】如何使用 cmd 在 SQL 中创建存储过程?【英文标题】:How to create stored procedures in SQL using cmd? 【发布时间】:2019-09-17 11:41:54 【问题描述】:这是我尝试过的。我有一个名为crop 的表,并且想要创建在该表中选择所有的存储过程。
这是我得到的错误:
MariaDB [sample]> CREATE PROCEDURE AllFarmers
-> AS
-> SELECT * FROM crop
-> GO;
ERROR 1064 (42000):您的 SQL 语法有错误;检查 与您的 MariaDB 服务器版本相对应的手册 在第 2 行的“AS SELECT * FROM crop GO”附近使用的语法
提前感谢您的帮助
【问题讨论】:
在我看来您来自 SQL Server 世界。 mysql 存储过程语法不同。阅读本文以查看示例。 dev.mysql.com/doc/connector-net/en/… 令人抓狂,不是吗? 检查这个:***.com/a/15786615/2469308 完美运行。谢谢马杜尔 【参考方案1】:我看到您的程序中的语法不正确。您应该用 BEGIN 替换 AS,用 END 替换 GO。
我在这里举个例子
delimiter //
CREATE PROCEDURE AllFarmers ()
BEGIN
SELECT * FROM Test;
END;
//
call allfarmers()
试试看有什么问题告诉我
【讨论】:
CREATE PROCEDURE AllFarmers () SELECT * FROM Test;
是shortest,您可以在 MySQL 和 MariaDB 中编写。因为单个语句不需要使用 BEGIN / END
块,也不需要使用 DELIMITER
【参考方案2】:
可能还值得一提的是,如果存储过程已经存在,您可以从头开始:
DROP PROCEDURE IF EXISTS `AllFarmers`
【讨论】:
以上是关于如何使用 cmd 在 SQL 中创建存储过程?的主要内容,如果未能解决你的问题,请参考以下文章
如何在sql server中创建一个存储过程中的varchar型的输入参数默认值为空