一、函數
在資料庫中都有函數,這些函數屬于系統函。除此之外使用者也可以編寫使用者自定義函數。使用者定義函數是存儲在資料庫中的代碼塊,可以把值傳回到調用程式。調用時如同系統函數一樣,如max(value)函數,其value被稱為參數。函數一般功能比較簡單,對于mysql函數隻有傳入參數,不像存儲過程一樣,有輸入輸出參數。
資料庫函數特點如下:
存儲函數将向調用者傳回一個且僅傳回一個結果值。
存儲函數嵌入在sql中使用的,可以在select中調用,就像内建函數一樣,比如cos()、hex()。
存儲函數的參數類型類似于IN參數。
二、自定義函數
自定義函數簡單文法:
CREATE FUNCTION 函數名稱(
變量名稱 類型,
變量名稱 類型
)
RETURN 類型
BEGIN
-- 聲明, 語句要完成的操作,
RETURN 變量;
END;
三、執行個體
例子中的函數使用mysql作為例子。
表結構如下:
1、不帶參數的函數
表示擷取person表的所有記錄,沒有參數,有數值傳回值。
2、帶有參數的函數
表示通過id擷取年齡,有id參數,有數值傳回值。
3、函數其他指令
函數的功能一般都是比較簡單的,如求某個值,格式轉換等。不像存儲過程,一般邏輯都比較複雜。