【问题标题】:Using Delimiter in MYSQL [duplicate]在 MYSQL 中使用分隔符 [重复]
【发布时间】:2020-08-29 22:33:06
【问题描述】:

我必须在Mysql中使用delimiter来创建一个过程吗?

【问题讨论】:

  • 这能回答你的问题吗? Delimiters in MySQL
  • 没有。有一些简单的存储过程可以在没有分隔符的情况下编写。但是,最好养成始终使用分隔符的习惯。

标签: mysql sql stored-procedures


【解决方案1】:

是的,在查询选项卡或 mysqlclient 中,您需要它们,如 here 所述

问题是分号是命令的结尾,但在存储过程中所有分号都是存储过程的prt。

当他必须解释时,Mysql 现在必须通过更改 DELIMITER 来将分号作为过程的一部分

【讨论】:

    【解决方案2】:

    是的,您必须 - 除非您的程序由单个语句组成。这是well explained in the documentation

    每个存储的程序都包含一个由 SQL 语句组成的主体。此语句可能是由分号 (;) 字符分隔的多个语句组成的复合语句。

    [...]

    如果使用mysql客户端程序定义包含分号字符的存储程序,就会出现问题。默认情况下,mysql本身将分号识别为语句分隔符,因此必须临时重新定义分隔符,以使mysql将整个存储的程序定义传递给服务器。

    要重新定义 mysql 分隔符,请使用 delimiter 命令。 [...] 这使得过程主体中使用的; 分隔符能够传递到服务器,而不是由 mysql 本身解释。

    【讨论】:

    • 不,您不必这样做。这取决于您使用的客户端。
    猜你喜欢
    • 1970-01-01
    • 2018-11-28
    • 2018-11-28
    • 1970-01-01
    • 1970-01-01
    • 2020-01-07
    • 2018-08-18
    • 2022-01-13
    • 2011-06-27
    相关资源
    最近更新 更多