從頭開始學MySQL-------儲存過程與儲存函式(4)
阿新 • • 發佈:2018-11-18
儲存過程與儲存函式的補充
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 ;