1. 程式人生 > >存儲過程和存儲函數區別

存儲過程和存儲函數區別

業務邏輯 區別 多個 網絡數據 () 就是 效果 返回值 直接

存儲過程說白了就是把經常使用的SQL語句或業務邏輯封裝起來,預編譯保存在數據庫中,當需要的時候從數據庫中直接調用,省去了編譯的過程.提高了運行速度;同時降低網絡數據傳輸量

1、返回值上的不同
存儲函數將向調用者返回一個且僅返回一個結果值。
存儲過程將返回一個或多個結果集(函數做不到這一點),或者只是來實現某種效果或動作而無需返回值。
2、調用方式上的不同
存儲函數嵌入在sql中使用的,可以在select中調用,就像內建函數一樣,比如cos()、hex()
存儲過程只能通過call語句進行調用
3、參數的不同
存儲函數的參數類型類似於IN參數
存儲過程的參數類型有三種、IN參數、OUT參數、INOUT參數

存儲過程和存儲函數區別