从另一个存储过程中调用MySQL存储过程

4

非常抱歉信息不完整。 这是我的两个存储过程:

DELIMITER $$

DROP PROCEDURE IF EXISTS SP1 $$ CREATE PROCEDURE SP1(InputCustomerID int,InputOrderID int) BEGIN

// 一些 SQL 语句,最后将其放入数据库中的实际表 tb1 中

END $$

DELIMITER ;

SP2 - 在 SP2 中,我正在分配 SP1 参数的输入值。

DELIMITER $$

DROP PROCEDURE IF EXISTS SP2 $$ CREATE PROCEDURE SP2() BEGIN

Declare InputCustomerID int; Declare InputOrderID int; Declare OrderStateDate Datetime;

Select CustomerID into InputCustomerID From Cusomers Where CustomerID NOT IN (Select FK_CustomerID From CustomerOrders) and IsApproved = True and CustomerID IN (Select FK_CustomerID From CustomerProductOrders Where Date(OrderStartDate) = Date(Now()));

Select OrderID into InputOrderID From CustomerOrders Where FK_CustomerID NOT IN (Select FK_CustomerID From CustomerProdcutOrders) and IsApproved = True and Date(OrderStartDate) = Date(Now());

Call SP1(InputCustomerID, InputOrderID);

END $$

DELIMITER ;

请注意,本文中的 HTML 标记已保留。
2个回答

4
你的问题表述非常不清楚,这使得回答变得非常困难。
例如,我猜想你正在调用sp2,它又调用了sp1。否则,就无法向sp1传递参数。
你接着说sp2没有任何输入或输出参数。如果没有输出参数,我无法理解你是如何期望从sp2中看到输出的。
我相信,“你没有设置任何输出,所以没有得到任何输出”并不是你想要的答案。你应该编辑你的问题,可能附上一些示例代码。

1

很抱歉,这段代码没有问题,可能是其他语法错误。

感谢您的所有帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接