什么是存儲過程及其優缺點?存儲過程與函數的區別?


  存儲過程是一個預編譯的SQL語句,優點是允許模塊化的設計,就是說只需創建一次,以后在該程序中就可以調用多次。
如果某次操作需要執行多次SQL,使用存儲過程比單純SQL語句執行要快。
  調用:
  1)可以用一個命令對象來調用存儲過程。
  2)可以供外部程序調用,比如:java、.net程序。

  優點

  1)存儲過程是預編譯過的,執行效率高。

  2)存儲過程的代碼直接存放於數據庫中,通過存儲過程名直接調用,減少網絡通訊。
  3)安全性高,執行存儲過程需要有一定權限的用戶。
  4)存儲過程可以重復使用,可減少數據庫開發人員的工作量。
  缺點
  移植性差

  存儲過程與函數的區別

 (1)存儲過程用戶在數據庫中完成特定操作或者任務(如插入,刪除等),函數用於返回特定的數據。
   (2)存儲過程聲明用procedure,函數用function。
   (3)存儲過程不需要返回類型,函數必須要返回類型。
   (4)存儲過程可作為獨立的pl-sql執行,函數不能作為獨立的plsql執行,必須作為表達式的一部分。
   (5)存儲過程只能通過out和in/out來返回值,函數除了可以使用out,in/out以外,還可以使用return返回值。
   (6)sql語句(DML或SELECT)中不可用調用存儲過程,而函數可以。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM