我有一个具有in和out参数的程序:
delimiter //
DROP PROCEDURE IF EXISTS empInfo ;
CREATE PROCEDURE empInfo (tblname VARCHAR(50),
clName VARCHAR(50),
out total INT)
BEGIN
SET @s = CONCAT("SELECT count(", clName ,") into total FROM ", tblname );
PREPARE stmt FROM @s;
EXECUTE stmt;
END//
在这里,我将在mysql中调用上述过程。
mysql> CALL empInfo('emp','empid', @total);
它创建成功,但是当我使用它时-它无法正常工作。
最佳答案
对我来说似乎不错,但只是不知所措
这是解决方法:
delimiter //
DROP PROCEDURE IF EXISTS empInfo ;
CREATE PROCEDURE empInfo (in tblname VARCHAR(255), in clName VARCHAR(255))
BEGIN
SET @s = CONCAT("SELECT count(", clName ,") into @total FROM ", tblname);
PREPARE stmt FROM @s;
EXECUTE stmt;
END//
delimiter ;
CALL empInfo('emo','empid');
select @total;
关于sql - 输入输出参数在MySQL中无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4151663/