【问题标题】:Creat procedure in mysql在mysql中创建过程
【发布时间】:2019-09-21 06:12:48
【问题描述】:

我正在从 w3schools 学习 sql。这里给出了简单的 mysql 过程,但不知何故我无法写下这个过程。我是 sql 新手,请你给我反馈。

  DELIMITER //
CREATE PROCEDURE getAllAgents
BEGIN
SELECT
 * FROM agents
 END //
 DELIMITER ; 

当我尝试执行此过程时,我会不断收到以下错误

错误代码:1064 您的 SQL 语法有错误;检查 与您的 MariaDB 服务器版本相对应的手册 在第 2 行的“开始选择 * 从代理结束”附近使用的语法

【问题讨论】:

  • GO 和 EXEC 语句向我表明这是一个 sqlserver 过程,它在 mariadb 中不起作用。你有 w3schools 页面的超链接吗?
  • 此页面上的标题声明它是用于 sqlserver。 Mariadb/mysql 是 sql 到 sqlserver 的不同方言,如果你使用 mariadb,你不应该尝试从 sqlserver 学习,或者你应该安装 sqlserver。mariadb.com/kb/en/library/create-procedure

标签: mysql sql mariadb procedure


【解决方案1】:

试试看

DELIMITER //
CREATE PROCEDURE SelectAllCustomers

BEGIN
  SELECT * FROM Customers

END //
DELIMITER ;



  call SelectAllCustomers

如果你使用 mariyaDB

CREATE procedure selectAllCustomers()
SELECT * FROM customer

执行

call selectAllCustomers

【讨论】:

  • 错误代码:1064 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 2 行的“开始选择 * 从代理端”附近使用正确的语法
  • 每条语句都必须终止,select需要一个;并且你需要指定参数,即使你不想要任何 with ()
  • @MaksimVasilovich 你在使用 MariyaDB
  • @Indrakumara 是的先生
  • 非常感谢先生
猜你喜欢
  • 1970-01-01
  • 2013-12-19
  • 2014-09-29
  • 2012-05-28
  • 1970-01-01
  • 2013-08-25
  • 2020-10-03
  • 2013-01-02
  • 2012-03-02
相关资源
最近更新 更多