MySQL-------存储过程与存储函数(4)

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-02 08:43:24

存储过程与存储函数的补充

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 ;

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!