从头开始学MySQL-------存储过程与存储函数(4)
存储过程与存储函数的补充
MySQL的存储过程与存储函数有什么区别?
存储函数只能通过return语句返回单个值或者表对象。
存储过程不能用return,但是可以使用多个out参数返回多个值。
存储过程如何修改代码?
虽然提供了ALTER PROCEDURE sp_name [存储特性],但是只能修改存储过程的存储特性,不能修改SQL。需要删除并重新创建。
存储过程中能调用其它存储过程吗?
可以在存储过程中的SQL中通过CALL调用其它存储过程,但是不能用DROP删除其它存储过程。
IN、OUT等参数与字段名相同了怎么办?
需要将它们区别开来,否则将会出现错误。
存储过程的IN参数可能是中文怎么办?
在定义存储过程的时候,加上character set gbk。
DELIMITER //
CREATE PROCEDURE getAddressByName(IN u_name VARCHAR(50) character set gbk , OUT address VARCHAR(50))
BEGIN
SQL;
END//
DELIMITER ;
阅读更多
从头开始学MySQL-------存储过程与存储函数(4)