儲存過程是使用者定義的一系列sql語句的集合,涉及特定表或其它物件的任務,使用者可以呼叫儲存過程,而函式通常是資料庫已定義的方法,它接收引數並返回某程式設計客棧種型別的值並且不涉及特定使用者表。
儲存過程和函式存在以下幾個區別:
1)一般來說,儲存過程實現的功能要複雜一點,而函式的實現的功能針對性比較強。儲存過程,功能強大,可以執行包括修改表等一系列資料庫操作;使用者定義函式不能用於執行一組修改全域性資料庫狀態的操作。
2)對於儲存過程來說可以返回引數,如記錄集,而函式etuajxw只能返回值或者表物件。函式只能返回乙個變數;而儲存過程可以返回多個。儲存過程的引數可以有in,out,inout三種型別,而函式只能有in類~~儲存過程宣告時不需要返回型別,而函式宣告時需要描述返回型別,且函式體中必須包含乙個有效的return語句。
3)儲存過程,可以使用非確定函式,不允許在使用者定義函式主體中內建非確定函式。 程式設計客棧
4etuajxw)儲存過程一般是作為乙個獨立的部分來執行( execute 語句執行),而函式可以作為查詢語句的乙個部分來呼叫(select呼叫),由於函式可以返回乙個表物件,因此它可以在查詢語句中位於from關鍵字的後面。 sql語句中不可用儲存過程,而可以使用函式。
本文標題: mysql儲存過程和函式區別介紹
本文位址: /shujuku/mysql/106701.html
MySQL儲存函式和儲存過程的區別
儲存過程與儲存函式的區別 1 儲存函式和儲存過程統稱為儲存例程 store routine 儲存函式的限制比較多,例如不能用臨時表,只能用表變數,而儲存過程的限制較少,儲存過程的實現功能要複雜些,而函式的實現功能針對性比較強 2 返回值不同 儲存函式必須有返回值,且僅返回乙個結果值 儲存過程可以沒有...
mysql 儲存過程和函式的區別
1.函式必須指定返回值,且引數預設為in型別。2.儲存過程沒返回值,引數可以是 in,out,in out型別,有的人可能會理解成out 也算是返回值。3.呼叫方式 函式 select my fun 過程 call my pro demo delimiter drop function if exi...
MySQL儲存過程和函式的區別
size small mysql的儲存過程 stored procedure 和函式 stored function 統稱為stored routines,是否應該採用儲存過程在文章business logic to store or not to store that is the questio...