函數:用於返回特定數據,函數可以直接在SQL語句中執行,包含return 用來進行數據操作,並返回一個單獨的函數值
存儲過程:用於完成一個具體任務(程序的業務)
相同點:
1、創建的語法結構相似,都可以傳入和傳出多個參數
2、一次編譯多次運行
不同點:
存儲過程的關鍵字procedure,函數定義關鍵字function
2、存儲過程中不能用return返回值,函數可以,而且函數必須有return
3、執行方式,存儲過程(begin和end,call,excute),函數除了這三種方式以外,可以當作表達式,在sql語句中執行,
總結:如果只有一個返回值,並且在sql語句中使用用函數,否則,一般全部使用存儲過程
以下是創建過程:
函數用於返回特定數據,跟存儲過程差不多。包,顧名思義就是一個包裝的東西。里面可以是函數,可以是存儲過程,
函數創建過程:
Create or replace function function_name()
Return datatype
As
Begin
End;
------------------------------------------------------------------------------
存儲過程的創建:
Create or replace procedure procedure_name()
Is
Begin
End;
------------------------------------------------------------------------------------
包的創建:create or replace package package_name--------------包頭
End
create or replace package body package_name----------------要和包頭名一樣
As
Begin
end