。由此我给存储过程 “GetAvgOut”:调用存储过程的输出参数
delimiter //
DROP PROCEDURE IF EXISTS GetAvgOut//
CREATE DEFINER = 'MailIntimator'@'127.0.0.1' PROCEDURE GetAvgOut(OUT average INT,IN col VARCHAR(30),IN tbl VARCHAR(30))
READS SQL DATA
COMMENT 'returns average'
BEGIN
SET @userVar = CONCAT(' SELECT AVG(' , col , ') FROM ' , tbl);
PREPARE stmt FROM @userVar;
EXECUTE stmt;
END;
//
delimiter ;
我打过电话使用aforeseen程序,
CALL GetAvgOut(@a,'Population','city');
SELECT @a;
“选择@a” 返回null。我怎样才能得到分配给参数“@a”的平均值?
为什么average声明为int,而不是float字段类型? – 2009-07-15 08:18:31
尝试: CALL GetAvgOut(@ average,'Population','city'); SELECT @average; – 2009-07-15 08:20:25