1樓:網友
<>三者差別:
1、儲存過程實現的功能要複雜一點,而函式實現的功能針對性比較強。;
2、儲存過程一般是作為乙個獨立的部分來執行,而函式可以作為查詢語句的乙個部分來呼叫;
3、觸發器是特殊的儲存過程,儲存過程需要程式呼叫,而觸發器會自動執碰圓搏行。
分別含義:
1、儲存過程的特點。
儲存過程只在建立時進行編譯,以後執行儲存過程都不需再重新編譯,而一般sql語句每執行一次就編譯一次,所以使用儲存過程可提高資料庫執行速度。
當對資料庫進行笑祥複雜操作時(如對多個表進行update、insert、query、delete時),可將此複雜操作用儲存過程封裝起來。
可以在過程中呼叫另乙個儲存過程。可以在儲存過程中呼叫函式。這可以簡化一系列複雜語句。
安全性高,可設定只有某使用者才具有對指定儲存過程的使用權。
引數有三種(in、out、in out),可返回多個引數值。腔稿。
在oracle 中,若干個有聯絡的過程可以組合在一起構成程式包。
儲存過程是資料庫中的乙個重要物件,任何乙個設計良好的資料庫應用程式都應該用到儲存過程。
2、函式的特點。
函式只有一種引數(in),只有一條return語句,只能返回單一的值。
可在sql語句(dml或select)中呼叫函式。由於函式可以返回乙個表物件,因此它可以在查詢語句中位於from關鍵字的後面。
3、觸發器的特點。
觸發器是特殊的儲存過程,儲存過程需要程式呼叫,而觸發器會自動執行。
2樓:網友
儲存過程和函式蠢轎的區別:
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 語句的目的來使用儲存過程,它具有以下優點: 可以在單個儲存過程中。
sql中的儲存過程和觸發器有什麼區別?
3樓:網友
一、參考不同。
1、儲存過程:是大型的sql語句集,用於在大型資料庫系統中完成特定的功能。
2、初始化:sqlserver提供給程式設計師和資料分析人員以確保資料初始化的一種方法。
二、特點不同。
1、儲存過程:儲存在資料庫中,編譯後永久有效,使用者通過指定儲存過程的名稱並指定引數(如果儲存過程具有引數)來執行。
2、insert:是與表事件相關的特殊儲存過程,程式的執行不被程式呼叫,也不是由猛辯程式手動啟動,而是由事件觸發,以便在操作表時(插入,刪除,更新))執行將被啟用。
三、作用不同。
1、儲存過程:以兩個遏制號(##開頭的官僚儲存過程,該儲存過程將成為儲存在tempdb資料庫中的臨時儲存過程,一旦建立了該臨時儲存過程,它將被連線到伺服器稍後。任何使用者都可以在沒有特殊許可權的情況下執行它。
2、設定為:可用於強制引用常量,在閉知豎新增,更新或刪除多個表中的行時終止,保留這些表之間定義的關係。但是,強制引用替換的最佳方法是在相關表中定義主鍵和外來鍵約束。
儲存過程和觸發器的區別是什麼?
4樓:床前明月兒
一、指代不同。
1、儲存過程:是在大型資料庫系統中,一組為了完成特定功能的sql 語句集。
2、觸發器:是sql server 提供給程式設計師和資料分析員來保證資料完整性的一種方法。
二、特點不同。
1、儲存過程:儲存在資料庫中,一次編譯後永久有效,使用者通過指定儲存過程的梁尺賣名字並給出引數(如果該儲存過程帶有引數)來執行。
2、觸發器:是與表事件相關的特殊的儲存過程,它的執困拆行不是由程式呼叫,也不是手工啟動,而是由事件來觸發,比如當對乙個表進行操作( insert,delete, update)時就會啟用執行。
三、作用不同。
1、儲存過程:局時儲存過程,以兩個井字型大小(##)號開始,則該儲存過程將成為乙個儲存在tempdb資料庫中的全域性臨時儲存過程,全域性臨時儲存過程一旦建立,以後連線到伺服器的任意使用者都可以執橡逗行它,而且不需要特定的許可權。
2、觸發器:可用於強制引用完整性,以便在多個表中新增、更新或刪除行時,保留在這些表之間所定義的關係。然而,強制引用完整性的最好方法是在相關表中定義主鍵和外來鍵約束。
觸發器和儲存過程的區別有哪些?
5樓:
一、二者的概念不同。
1、儲存過程。
儲存過程(stored procedure)是在大型資料庫系統中,一組為了完成特定功能的sql 語句集,它儲存在資料庫中,一次編譯後永久有效,行族使用者通過指定儲存過程的名字並給出引數(如果該儲存過程帶有引數)來執行它。儲存過程是資料庫中的乙個重要物件。
2、觸發器。
觸發器是一種特殊型別的儲存過程,它不同於我們前面介紹過的儲存過程。觸發器主要是通過事件進行搭畝觸發而被執行的,而儲存過程可以通過儲存過程名字而被直接呼叫。
二、二者的功能不同。
1、儲存過程的功能:
1) 變數說明。
2) ansi(美國國家標準化組織)相容的sql命令(如select,update….)
3) 一般流程式控制制命令(if…else…、while….)
2、觸發器的功能:
1) 強化約束(enforce restriction)
2) 跟蹤變化auditing changes
3) 級聯執行檔枝弊(cascaded operation)
三、二者的種類不同。
1、儲存過程種類:
1)本地儲存過程。
2) 臨時儲存過程。
3) 系統儲存過程。
2、觸發器種類:
1)after 觸發器和instead of 觸發器。
該型別觸發器要求只有執行某一操作(insert update delete) 之後,觸發器才被觸發,且只能在表上定義。可以為針對表的同一操作定義多個觸發器。
2) instead of觸發器表示並不執行其所定義的操作(insert、 update、 delete),而僅是執行觸發器本身,但對同一操作只能定義乙個instead of 觸發器。
oracle資料庫的物理儲存結構有那些,它們各自的作用
去這裡看看 資料結構。在計算機中的表示 映像 稱為資料的物理 儲存 結構。它包括資料元素的表示和關係的表示。物理結構,即oracle資料庫。使用的作業系統檔案結構。對於資料庫物理結構檔案,不同的oracle版本,不同的作業系統平臺上有不同的儲存目錄結構。資料庫的物理結構檔案激埋按其作用可以分為三類 ...
資料庫函式依賴問題資料庫問題什麼是非平凡函式依賴
哎 以前學過 全給荒廢了 一 函式依賴概念 函式依賴是從數學角度來定義的 在關係中用來刻畫關係各屬性之間相互制約而又相互依賴的情況。函式依賴普遍存在於現實生活中,比如,描述一個學生的關係,可以有學號 姓名 所在系等多個屬性,由於一個學號對應一個且僅一個學生,一個學生就讀於一個確定的系,因而當 學號 ...
資料庫儲存過程,sql 儲存過程怎樣儲存
sql 儲存過程怎樣儲存 方法和詳細的操作步驟如下 2 第二步,執行完上面的操作之後,執行以下幾行 並檢視執行是否成功,現在,資料庫中存在乙個儲存過程 sp jy 見下圖,轉到下面的步驟。3 第三步,執行完上面的操作之後,該陣列只有三行資料,見下圖,轉到下面的步驟。4 第四步,執行完上面的操作之後,...