【问题标题】:Where is the syntax error in this MySQL stored procedure?这个 MySQL 存储过程中的语法错误在哪里?
【发布时间】:2020-05-08 13:57:01
【问题描述】:

我想将输出参数名称设置为串联的 kund.Vorname 和 kund.Nachname。但我得到一个语法错误,我找不到它。如有任何帮助,我将不胜感激。

CREATE PROCEDURE GetName(IN kartennummer CHAR(16), OUT name VARCHAR(91))
BEGIN
SELECT @name = (CONCAT_WS(' ', kund.Vorname, kund.Nachname)
  FROM Kunden kund,
       Konten kont
  WHERE kund.KundenID = kont.KundenID AND
        kont.Kartennummer = kartennummer));
END;

【问题讨论】:

  • JOINJOINJOIN.
  • 计数(和)。同一个号码?
  • 你可以使用这个答案stackoverflow.com/a/61681752/5193536这是同一个家庭作业
  • 显示错误信息;它准确地说明了问题所在。
  • @nbk:教练的姓名首字母“nbk”是不是巧合?

标签: mysql sql mariadb


【解决方案1】:

您在第 3 行关闭了太多括号

【讨论】:

    【解决方案2】:

    首先,您在选择语句@name 中使用不带前导@ 的名称。那不一样。

    【讨论】:

      【解决方案3】:

      而且,根据上下文,您可能需要DELIMITER 声明。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-04-12
        • 2014-07-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-29
        相关资源
        最近更新 更多