回覆列表
  • 1 # 使用者3296806220335

    儲存過程和函式的區別:

    1. 一般來說,儲存過程實現的功能要複雜一點,而函式的實現的功能針對性比較強。

    2. 對於儲存過程來說可以返回引數,而函式只能返回值或者表物件。

    3. 儲存過程一般是作為一個獨立的部分來執行,而函式可以作為查詢語句的一個部分來呼叫,由於函式可以返回一個表物件,因此它可以在查詢語句中位於FROM關鍵字的後面。

    4. 當儲存過程和函式被執行的時候,SQL Manager會到procedure cache中去取相應的查詢語句,如果在procedure cache裡沒有相應的查詢語句,SQL Manager就會對儲存過程和函式進行編譯。

    Procedure cache中儲存的是執行計劃 (execution plan) ,當編譯好之後就執行procedure cache中的execution plan,之後SQL SERVER會根據每個execution plan的實際情況來考慮是否要在cache中儲存這個plan,評判的標準一個是這個execution plan可能被使用的頻率;其次是生成這個plan的代價,也就是編譯的耗時。儲存在cache中的plan在下次執行時就不用再編譯了。

    觸發器、儲存過程和函式三者有何區別:

    觸發器是特殊的儲存過程,儲存過程需要程式呼叫,而觸發器會自動執行;

    在什麼時候用觸發器?要求系統根據某些操作自動完成相關任務。

    什麼時候用儲存過程?

    儲存過程就是程式,它是經過語法檢查和編譯的SQL語句,所以執行特別快。

    儲存過程和使用者自定義函式具體的區別

    先看定義: 儲存過程儲存過程可以使得對資料庫的管理、以及顯示關於資料庫及其使用者資訊的工作容易得多。儲存過程是 SQL 語句和可選控制流語句的預編譯集合,以一個名稱儲存並作為一個單元處理。

    儲存過程儲存在資料庫內,可由應用程式透過一個呼叫執行,而且允許使用者宣告變數、有條件執行以及其它強大的程式設計功能。儲存過程可包含程式流、邏輯以及對資料庫的查詢。它們可以接受引數、輸出引數、返回單個或多個結果集以及返回值。 可以出於任何使用 SQL 語句的目的來使用儲存過程,它具有以下優點: 可以在單個儲存過程中。

  • 中秋節和大豐收的關聯?
  • 馬術技巧關於騎馬的技巧你瞭解多少?