当前位置: 首页 > 知识库问答 >
问题:

“delimiter”在此位置无效,应为CREATE

卢阳成
2023-03-14

我在写一个存储过程的时候,遇到了一个错误,“delimiter”在这个位置是无效的,希望创建“。我想这可能是MySQL workbench的一个问题,因为下面的代码给出了同样的错误,但是是直接从这个网站上复制的。

DELIMITER $$
CREATE PROCEDURE GetTotalOrder()
BEGIN
    DECLARE totalOrder INT DEFAULT 0;
    
    SELECT COUNT(*) 
    INTO totalOrder
    FROM orders;
    
    SELECT totalOrder;
END$$
DELIMITER ;

编辑:我的真实存储过程是:

DELIMITER //
CREATE PROCEDURE GetSimilar(inputdate char(10))
BEGIN
    Declare id(tinyint) DEFAULT 0;
    Set id := (select t.IdTimelineinfo
        From timelineinfo t
        WHERE t.Date = inputdate);
    SELECT t.Date From timelineinfo t where t.date = inputdate;
    SELECT o.Name, o.Race, o.Sex, o.IdOfficer
        FROM timelineinfo
        JOIN timelineinfo_officer ON timelineinfo.IdTimelineinfo = timelineinfo_officer.IdTimelineinfo      
        JOIN officers o ON timelineinfo_officer.IdOfficer = o.IdOfficer
        WHERE timelineinfo.IdTimelineinfo = id
        UNION
    SELECT s.IdSubject, s.Name, s.Race, s.Sex
        FROM timelineinfo
        JOIN timelineinfo_subject ON timelineinfo.IdTimelineinfo = timelineinfo_subject.IdTimelineinfo      
        JOIN subjects s ON timelineinfo_subject.IdSubject = s.IdSubject
        WHERE timelineinfo.IdTimelineinfo = id;
        UNION
    Select * 
        From media m
        Where (m.IdTimelineinfo = id);
END //
DELIMITER ;

共有1个答案

鲜于高明
2023-03-14

注意编辑过程SQL代码的位置。有一个专用的例程对象编辑器(就像表、触发器、视图等一样),它只接受与之相关的对象类型的SQL代码。因此,它们不需要分隔符,如果使用分隔符,甚至可以发出错误信号。

另一方面,您总是可以在SQL IDE代码编辑器中直接编辑SQL代码,而在SQL IDE代码编辑器中没有实现这种特殊处理。在这种情况下,您需要分隔符。

 类似资料:
  • 我已经检查/比较了SQL语句几次,但它仍然不起作用。我正在使用带有MySQL的Workbench6.3。它给了我一个错误: 1064语法错误:“if”在此位置不是有效输入。

  • 我试图创建一个表,在这个表中,我使用id属性作为UUID,但它显示错误,它在这个位置是无效的,它期待其他东西 ); 这里,_id字段是UUID类型,_verification_key也是UUID,在mysql工作台中给出错误

  • 我需要使用反向工程MySQL Create Script import命令导入mod-ap.sql文件。当我执行此操作时,在两个位置(10,0)和(43,0)处收到一个错误。错误:“)”在此位置无效,需要标识符。 第7-15行; 第41-46行 ***第10行为空 ***使用--注释将第43行屏蔽掉 我试着研究了这个问题,并在workbench中发现了一些bug,或者保留了一些特定的单词,但与此无

  • 我在MySQL Workbench中编写了以下SQL查询: 但是,我收到以下错误:“select”在此服务器版本的此位置无效,应为:“(”,有错误。我对SQL相对较新,所以不确定为什么会收到此错误以及如何解决此错误。请提供任何见解。

  • “error_yn”在此位置无效,需要标识符。 出现语法错误。 我已经完成了变量声明,我不认为有什么遗漏。我该修什么?

  • 问题内容: 我正在尝试从YouTube API解析json响应数据,但我一直收到错误消息。 这是令人窒息的片段: ..发生这种情况: 我已经确认它是有效的json,并且无法控制其格式,因此如何克服此错误? 问题答案: 您需要在“”“之前添加一个,或全部替换为。从其他地方读取json时,您不必担心这件事,而是字符串本身中的事。 看到这里获取更多信息