mysql存储过程传参应注意的问题

DROP PROCEDURE IF EXISTS avgBookstar;
DELIMITER $$
CREATE PROCEDURE avgBookstar(IN selectBookID CHAR(50),OUT selectBookStar INT)
BEGIN
    SELECT AVG(star) FROM t_comment,t_orderitem,t_book
    WHERE t_orderitem.book_ID = t_book.bookID
    AND t_orderitem.orderItemID = t_comment.orderItem_ID
    AND t_book.bookID = selectBookID
    INTO selectBookStar;
    SELECT selectBookStar;
END $$
DELIMITER ;

CALL avgBookstar('111111',@star);
SELECT @star;

输出的参数的类型和输入参数的类型必须和在表里查出来的字段的类型匹配

posted @ 2013-12-31 17:15  lxricecream  阅读(360)  评论(0)    收藏  举报