• <menu id="w2i4a"></menu>
  • logo Navicat使用教程-2019.1

    文檔首頁>>Navicat使用教程-2019.1>>Navicat使用教程:了解關系數(shù)據(jù)庫中的存儲過程和函數(shù)

    Navicat使用教程:了解關系數(shù)據(jù)庫中的存儲過程和函數(shù)


    Navicat是一套快速、可靠并價格相當便宜的數(shù)據(jù)庫管理工具,專為簡化數(shù)據(jù)庫的管理及降低系統(tǒng)管理成本而設。它的設計符合數(shù)據(jù)庫管理員、開發(fā)人員及中小企業(yè)的需要。Navicat 是以直覺化的圖形用戶界面而建的,讓你可以以安全并且簡單的方式創(chuàng)建、組織、訪問并共用信息。

    點擊查看Navicat系列產(chǎn)品

    大多數(shù)關系數(shù)據(jù)庫——包括MySQL、MariaDB和SQL Server,都支持存儲過程和函數(shù)。存儲過程和函數(shù)實際上非常相似,可以用來完成相同的任務。也就是說,在決定對特定工作使用哪個時,需要考慮兩者之間的一些關鍵差異。我們將在今天的文章中介紹這些內容。

    存儲過程

    存儲過程(簡稱“proc”)是一組具有指定名稱的結構化查詢語言(SQL)語句,它們以組的形式存儲在關系數(shù)據(jù)庫管理系統(tǒng)中,因此可以被多個程序重用和共享。存儲過程可以訪問或修改數(shù)據(jù)庫中的數(shù)據(jù),但它并不綁定到特定的數(shù)據(jù)庫或對象。這種松散的耦合是有利的,因為很容易為不同但相似的目的重新分配proc。

    存儲過程可以接受輸入?yún)?shù)并返回輸出參數(shù)的多個值;此外,存儲過程可以對語句進行編程以在數(shù)據(jù)庫中執(zhí)行操作,并向調用過程或批處理返回狀態(tài)值。

    最后,存儲過程可以執(zhí)行多個SQL語句、調用函數(shù),甚至迭代結果集,從而執(zhí)行類似于編程代碼的復雜操作。完成后,proc通常會將更多結果集之一返回給調用應用程序。

    Navicat使用教程:了解關系數(shù)據(jù)庫中的存儲過程和函數(shù)

    用戶函數(shù)

    函數(shù)類似于存儲過程,因為它包含一組執(zhí)行特定任務的SQL語句。功能背后的想法是提高代碼的可重用性。如果必須重復編寫大型SQL腳本來執(zhí)行同一任務,則可以創(chuàng)建一個執(zhí)行該任務的函數(shù),這樣,下次無需重寫SQL,只需調用該函數(shù)即可。數(shù)據(jù)庫通常包括一組執(zhí)行各種任務的內置函數(shù),因此在編寫自己的函數(shù)之前,請務必先對其進行研究。

    函數(shù)接受參數(shù)形式的輸入并返回一個值。與存儲過程不同,函數(shù)不能返回結果集。而且,函數(shù)不能修改服務器環(huán)境或操作系統(tǒng)環(huán)境。

    Navicat使用教程:了解關系數(shù)據(jù)庫中的存儲過程和函數(shù)

    主要區(qū)別

    雖然proc和函數(shù)都可以以類似的方式使用,但是函數(shù)被設計為將其輸出發(fā)送到查詢或SQL語句。同時,存儲過程旨在將輸出(即一個或多個結果集)返回給應用程序。

    另一個區(qū)別是,您可以將一組SQL語句分組并在存儲過程中執(zhí)行它們,而在SQL語句中不能調用存儲過程。另一方面,可以直接從查詢或存儲過程中調用函數(shù)。

    最后,功能的局限性是必須為每一行調用它們。因此,如果您使用的函數(shù)具有較大的數(shù)據(jù)集,則可能會遇到性能問題。

    在Navicat中查看存儲的過程和函數(shù)

    在Navicat數(shù)據(jù)庫管理和開發(fā)工具中,您將在“函數(shù)”下看到proc和函數(shù)。存儲過程的前綴為“Px”,而函數(shù)的前綴為“fx”:

    Navicat使用教程:了解關系數(shù)據(jù)庫中的存儲過程和函數(shù)

    結論

    存儲過程和函數(shù)在許多方面都非常相似,但是每種方法都有不同的用途。您可以將存儲的proc看作是一組SQL語句,而一個函數(shù)接受輸入并根據(jù)輸入?yún)?shù)返回輸出值。


    點擊下載Navicat的產(chǎn)品Navicat for MySQL、Navicat for PostgreSQLNavicat for Oracle、Navicat Premium進行評估~想要了解更多產(chǎn)品信息請點擊【咨詢在線客服】

    840-100.jpg

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();