儲存過程和函式的區別

2021-09-25 09:27:23 字數 700 閱讀 8915

儲存過程:我們常用的運算元據庫語言sql語句在執行的時候需要要先編譯,然後執行,而儲存過程(stored procedure)是一組為了完成特定功能的sql語句集,經編譯後儲存在資料庫中,使用者通過指定儲存過程的名字並給定引數(如果該儲存過程帶有引數)來呼叫執行它。

區別:1 .函式只能返回值且只能返回乙個變數,儲存過程可返回多個引數。

2. 兩者的引數型別不同。儲存過程的引數有三種,分別是in(可接收引數)、out(能輸出引數)和inout(輸入和輸出),函式只有in引數型別。

3. 建立方式不同,儲存過程建立語法:create procrdure 『儲存過程名』 (引數1,引數2…)

begin

…end

函式建立語法 :create function 『函式名』 (引數名 引數型別,引數名 引數型別 …)

return 『返回型別』

begin

…end

即函式宣告時必須描述返回型別,且函式體中必須包含乙個有效的return 語句。

4. 儲存過程實現的功能性要複雜一點,可執行包括修改表等一系列資料庫操作。函式實現的功能針對性比較強,但不能執行修改全域性資料庫狀態的操作。

5. sql語句中不可用儲存過程,而函式可以。

6. 儲存過程中可寫sql語句,函式則不可以。

7. 呼叫方法不同,呼叫儲存過程語法:call 『儲存名()』 ;函式呼叫:可直接select 函式名。

儲存過程和函式的區別

儲存過程和函式目的是為了 可重複地 執行運算元據庫的sql語句的集合。區別是寫法和呼叫上。寫法上 儲存過程的引數列表可以有輸入引數 輸出引數 可輸入輸出的引數 函式的引數列表只有輸入引數,並且有return 返回值型別,無長度說明 返回值上 儲存過程的返回值,可以有多個值,函式的返回值,只有乙個值。...

儲存過程和函式的區別

儲存過程和函式目的是為了 可重複地 執行運算元據庫的sql語句的集合。區別是寫法和呼叫上。寫法上 儲存過程的引數列表可以有輸入引數 輸出引數 可輸入輸出的引數 函式的引數列表只有輸入引數,並且有return 返回值型別,無長度說明 返回值上 儲存過程的返回值,可以有多個值,函式的返回值,只有乙個值。...

儲存過程和函式的區別

儲存過程和函式目的是為了 可重複地 執行運算元據庫的sql語句的集合。區別是寫法和呼叫上。識別符號不同 函式的識別符號為function 儲存過程為 procedure。引數 儲存過程的引數列表可以有輸入引數 輸出引數 可輸入輸出的引數 函式的引數列表只有輸入引數,並且有return 返回值型別,無...