sql中儲存過程和自定義函式的區別
儲存過程:
儲存過程可以使得對資料庫的管理、以及顯示關於資料庫及其使用者資訊的工作容易得多。儲存過程是 sql 語句和可選控制流語句的預編譯集合,以乙個名稱儲存並作為乙個單元處理。儲存過程儲存在資料庫內,可由應用程式通過乙個呼叫執行,而且允許使用者宣告變數、有條件執行以及其它強大的程式設計功能。
儲存過程可包含程式流、邏輯以及對資料庫的查詢。它們可以接受引數、輸出引數、返回單個或多個結果集以及返回值。
可以出於任何使用 sql 語句的目的來使用儲存過程,它具有以下優點:
1、可以在單個儲存過程中執行一系列 sql 語句。
2、可以從自己的儲存過程內引用其它儲存過程,這可以簡化一系列複雜語句。
3、儲存過程在建立時即在伺服器上進行編譯,所以執行起來比單個 sql 語句快。
使用者定義函式:
microsoft sql server 2000 允許建立使用者定義函式。與任何函式一樣,使用者定義函式是可返回值的例程。根據所返回值的型別,每個使用者定義函式可分成以下三個類別:
1、返回可更新資料表的函式:如果使用者定義函式包含單個 select 語句且該語句可更新,則該函式返回的**格式結果也可以更新。
2、返回不可更新資料表的函式:如果使用者定義函式包含不止乙個 select 語句,或包含乙個不可更新的 select 語句,則該函式返回的**格式結果也不可更新。
3、返回標量值的函式:使用者定義函式可以返回標量值。
儲存過程
1. 功能強大,限制少
2. 不能直接引用返回值
3. 用select語句返回記錄集
自定義函式
1. 諸多限制,有許多語句不能使用,許多功能不能實現
2. 可以直接引用返回值
3. 用表變數返回記錄集
SQL中儲存過程和自定義函式的區別
剛開始學sql,很快就發現儲存過程和資料庫自定義函式之間貌似有很多的相同點,所以把其差別簡單做下記錄,以備以後查閱 儲存過程 儲存過程可以使得對資料庫的管理 以及顯示關於資料庫及其使用者資訊的工作容易得多。儲存過程是 sql 語句和可選控制流語句的預編譯集合,以乙個名稱儲存並作為乙個單元處理。儲存過...
SQL中儲存過程和自定義函式的區別
儲存過程 儲存過程可以使得對資料庫的管理 以及顯示關於資料庫及其使用者資訊的工作容易得多。儲存過程是 sql 語句和可選控制流語句的預編譯集合,以乙個名稱儲存並作為乙個單元處理。儲存過程儲存在資料庫內,可由應用程式通過乙個呼叫執行,而且允許使用者宣告變數 有條件執行以及其它強大的程式設計功能。儲存過...
SQL中儲存過程和自定義函式的區別
儲存過程 儲存過程可以使得對資料庫的管理 以及顯示關於資料庫及其使用者資訊的工作容易得多。儲存過程是 sql 語句和可選控制流語句的預編譯集合,以乙個名稱儲存並作為乙個單元處理。儲存過程儲存在資料庫內,可由應用程式通過乙個呼叫執行,而且允許使用者宣告變數 有條件執行以及其它強大的程式設計功能。儲存過...