MySQL存储过程执行问题:参数传递与示例
在MySQL中,存储过程(Procedure)是一种预编译的SQL语句集合,可以接受参数并返回值。以下是参数传递和一个简单示例:
参数定义:
CREATE PROCEDURE GetCustomerInfo(IN customerID INT, OUT customerName VARCHAR(50), OUT orderCount INT))
AS
BEGIN
SELECT Name INTO customerName FROM Customers WHERE CustomerID = @customerID;
SELECT COUNT(*) INTO orderCount FROM Orders WHERE CustomerID = @customerID;
IF EXISTS (SELECT * FROM CustomerInfo WHERE CustomerID = @customerID AND OrderCount = @orderCount)):
SET @returnCode = 1; -- Return code for update
ELSE:
SET @returnCode = 0; -- Return code for insert
SELECT @returnCode AS returnCode;
END;
调用存储过程:
CALL GetCustomerInfo(1, @customerName, @orderCount);
获取返回值:
SELECT @returnCode;
以上就是一个MySQL中存储过程参数传递和示例。
还没有评论,来说两句吧...