如何解决“定界符”在此位置无效,应为CREATE
我在此位置收到“ Delimiter”错误,因为我正在编写存储过程并且无法找出原因,所以期望CREATE。我认为这可能是MySQL工作台的问题,因为以下代码给出了相同的错误,但是是直接从this website复制而来的。
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 ;
解决方法
当心您在哪里编辑过程SQL代码。有一个专用的例程对象编辑器(就像表,触发器,视图等一样),该编辑器仅接受SQL代码作为其关联的对象类型。因此,如果您使用定界符,则它们不需要定界符甚至发出错误信号。
另一方面,您始终可以在没有实现这种特殊处理的SQL IDE代码编辑器中直接直接编辑SQL代码。在这种情况下,您需要定界符。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。