MariaDB 存储过程 - 在 INSERT 语句中出现错误“缺少 SELECT”
Posted
技术标签:
【中文标题】MariaDB 存储过程 - 在 INSERT 语句中出现错误“缺少 SELECT”【英文标题】:MariaDB stored proc - Getting an error 'Missing SELECT' on INSERT statement 【发布时间】:2016-08-25 11:00:41 【问题描述】:虽然我在 SQL Server 中创建了大量 proc,但我想开始使用 MariaDB,因此尝试在 mysql Workbench 中创建下面的简单 proc。
我不断收到一条错误消息,指出表名后的开头 '(' 缺少 SELECT:
DELIMITER $$
drop procedure if exists usp_AddSentEmail$$
CREATE PROCEDURE usp_AddSentEmail (in pSender varchar(36)
,in pTo varchar(1000)
,in pSubject varchar(100)
,in pBody varchar(10000)
,in pRecordDT datetime)
BEGIN
INSERT INTO Emails('To','Subject','Body','Sender','RecordDT','Sent','SentDT')
VALUES (pTo,pSubject,pBody,pSender,pRecordDT,1,pRecordDT);
END$$
DELIMITER ;
也许我尝试了错误的谷歌搜索,但出现的只是分隔符错误。
【问题讨论】:
请注意,列不是字符串。 【参考方案1】:从插入查询中的列名中删除引号:
INSERT INTO Emails(To,Subject,Body,Sender,RecordDT,Sent,SentDT)
VALUES (pTo,pSubject,pBody,pSender,pRecordDT,1,pRecordDT);
【讨论】:
哈。你是天才:-) 谢谢。我不得不把 To 和 Subject 放在反引号中,但其余的都很好。以上是关于MariaDB 存储过程 - 在 INSERT 语句中出现错误“缺少 SELECT”的主要内容,如果未能解决你的问题,请参考以下文章