儲存過程2020 7 8

2021-10-07 21:59:29 字數 996 閱讀 1104

概念

儲存過程是使用者定義的一系列sql語句的集合,實際特定表或其他物件的任務,使用者可以呼叫儲存過程,而函式通常是資料庫已經定於的方法,它接收引數並返回某種型別的值,並且不涉及特定使用者表。

儲存過程用於執行特定的操作,可以接收輸入引數、輸出引數,返回單個或多個結果集。在建立儲存過程時,既可以指定輸入引數in,也可以指定輸出引數out,通過在儲存過程中輸入引數,可以將資料傳遞到執行部分;通過使用輸出引數,可以將執行結果傳遞要應用環境。儲存過程可以使對資料庫的管理、顯示資料庫及其使用者資訊的工作更加容易。

優點

1.儲存過程增強了sql語言的功能和靈活性。儲存過程可以用流控制語句編寫,有很強的靈活性,可以完成複雜的判斷和運算。

2.通過儲存過程可以使相關的動作在一起發生,從而維護資料庫的完整性。

3.在執行儲存過程之前,資料庫已經對其進行了語法和句法分析,並給出了優化執行方案。這種已經編譯好的過程可以極大地改善sql語句的效能。

4.因為不需要通過網路來傳輸很多sql語句到資料庫伺服器,所以可以降低網路的通訊量。

5.把體現企業規則的運算程式放入資料庫伺服器中,以便集中管理。

6.保證資料的安全性。

儲存過程和函式的異同

相同點

1.都是儲存在資料庫中的程式,可以由使用者直接或間接呼叫。

2.都可以有輸出引數。

3.都是由一系列的sql語句組成.

不同點

1.識別符號不同.函式的識別符號是function,儲存過程的識別符號是procedure。

2.函式必須有返回值,且只能有乙個返回值;而儲存過程可以有多個返回值。

3.儲存過程無返回值型別,不能將結果直接賦值給變數;函式有返回值型別,在呼叫函式時,除了用在select語句中,在其他情況下必須將函式的返回值賦值給乙個變數。

4.函式可以在select語句中直接使用,而儲存過程不能。

儲存過程系列之儲存過程sql查詢儲存過程的使用

1.查詢某個表被哪些儲存過程 以下簡稱 sp 使用到 select distinct object name id from syscomments where id in select object id from sys.objects where type p and text like ta...

儲存過程系列之儲存過程sql查詢儲存過程的使用

1.查詢某個表被哪些儲存過程 以下簡稱 sp 使用到 select distinct object name id from syscomments where id in select object id from sys.objects where type p and text like ta...

Oracle儲存過程呼叫儲存過程

oracle儲存過程呼叫有返回結果集的儲存過程一般用光標的方式,宣告乙個游標,把結果集放到游標裡面,然後迴圈游標 declare newcs sys refcursor cs1 number cs2 number cstype table rowtype table列的個數和newcs返回的個數一樣...