MySQL开发的存储过程几乎都需要参数。这些参数使存储过程更加灵活和有用。 在MySQL中,参数有三种模式:IN,OUT或INOUT。

 1,单参数 in

DELIMITER $$ USE dc3688$$ CREATE PROCEDURE GetOfficeByCountry(IN countryName VARCHAR(255)) BEGIN SELECT * FROM offices WHERE country = countryName; END$$

DELIMITER ;

2,多参数 (in out)

DELIMITER $$ CREATE PROCEDURE CountOrderByStatus( IN orderStatus VARCHAR(25), OUT total INT) BEGIN SELECT count(orderNumber) INTO total FROM orders WHERE status = orderStatus; END$$ DELIMITER ;

调用方法 CALL CountOrderByStatus('Shipped',@total); SELECT @total;

3,参数 inout

DELIMITER $$ CREATE PROCEDURE set_counter(INOUT count INT(4),IN inc INT(4)) BEGIN SET count = count + inc; END$$ DELIMITER ;

调用过程 SET @counter = 1; CALL set_counter(@counter,1);

可以实际操作一下不同参数用法 文章来自 www.dc3688.com