MySQL过程不产生输出
Posted
技术标签:
【中文标题】MySQL过程不产生输出【英文标题】:MySQL procedure not producing output 【发布时间】:2017-09-12 13:44:07 【问题描述】:我是一个 SQL 新手。尝试编写一个简单的 SQL 过程,我可以在其中传递订单 ID(作为 INT)并退出其相应的订单状态。 以下是详细信息:
表结构:
TransactionID int(11) 否 BUYEREMAIL 文本 NO BUYERNAME varchar(255) 否 BUYERPHONENUMBER 文字编号 购买日期编号 PAYMENTSDATE 日期 是 METHODOFPAYMENT varchar(50) 是 SHIPPINGPRICE int(10) 是 SHIPPINGTAX int(10) 是 SHIPSERVICELEVEL varchar(100) 是 SHIPADDRESS1 varchar(255) 否 SHIPADDRESS2 varchar(255) 是 SHIPCITY 正文 NO SHIPSTATE 文本是 SHIPPOSTALCODE text NO 船国文本 NO SHIPPHONENUMBER 文本是 OrderProcessed 位(1) 是 订单状态文本否
程序
DROP PROCEDURE `OrderStatus`;
CREATE DEFINER=`profetah`@`localhost` PROCEDURE `OrderStatus`(IN`
OrderID` INT, OUT `output1` TEXT) NOT DETERMINISTIC CONTAINS SQL SQL
SECURITY DEFINER BEGIN
SELECT OrderStatus INTO output1
FROM `ProfetaOrders`
WHERE TransactionID=OrderID;
END
错误
数据错误
ER_PARSE_ERROR:您的 SQL 语法有错误;检查与您的 mysql 服务器版本相对应的手册,以在第 1 行的“select @output1 as output1
”附近使用正确的语法
请帮忙。 问候。
【问题讨论】:
您的查询不包含任何会创建抱怨select @output1 as output1
的错误消息的部分。所以请添加实际的错误消息或实际代码。
@Solarflare 这实际上是我得到的确切错误。我唯一没有提到认为这很重要的是我从 API 连接站点 integromat.com 调用此过程
您的代码不包含对@output1
的任何引用,而您的错误消息包含。所以你错过了一些东西。也许它是调用该过程的代码的一部分,所以添加它。目前,我们无法告诉您为什么会收到该错误,因为我们没有看到导致该错误的代码。
@Solarflare 感谢您的回复。我不知道 integromat 是如何调用这个程序的。我已经向他们提交了请求。让我们看看他们的回复。谢谢。
【参考方案1】:
问题不在代码中。它实际上来自 integromate.com 当与他们联系时,他们从那里解决了这个错误。
问候。
【讨论】:
以上是关于MySQL过程不产生输出的主要内容,如果未能解决你的问题,请参考以下文章