从头开始学MySQL-------存储过程与存储函数(4)

版权声明:欢迎转载大宇的博客,转载请注明出处: https://blog.csdn.net/yanluandai1985/article/details/83715441

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

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 ;

猜你喜欢

转载自blog.csdn.net/yanluandai1985/article/details/83715441