說明:如果您有任何疑問或想咨詢其他業務請撥打電話 400 685 0732
全網監測海量數據按需發布監測預警
實時把握輿情動態精準追溯信息源頭
存儲過程(StoredProcedure)是在大型數據庫系統中,一組為了完成特定功能的SQL語句集,存儲在數據庫中,經過第一次編譯后再次調用不需要再次編譯,用戶通過指定存儲過程的名字并給出參數(如果該存儲過程帶有參數)來執行它,存儲過程是數據庫中的一個重要對象;存儲過程中可以包含邏輯控制語句和數據操縱語句,它可以接受參數,輸出參數,返回單個或多個結果集以及返回值。
sql存儲過程——存儲過程的優點
優點:
由于應用程序隨著時間推移會不斷更改,增刪功能,SQL語句會變得更復雜,存儲過程為封裝此類代碼提供了一個替換位置;
由于存儲過程在創建時即在數據庫服務器上進行了編譯并存儲在數據庫中,所以存儲過程運行要比單個的SQL語句塊要快;
由于在調用時只需用提供存儲過程名和必要的參數信息,所以在一定程度上也可以減少網絡流量,簡單網絡負擔;
可維護性高,更新存儲過程通常比更改,測試以及重新部署程序集需要較少的時間和精力;
代碼精簡一致,一個存儲過程可以用于應用程序代碼的不同位置;
增強安全性:
通過向用戶授予對存儲過程(而不是基于表)的訪問權限,它們可以提供對特定數據的訪問;
提高代碼安全,防止SQL注入(但未徹底解決,例如將數據操作語言DML附加到輸入參數);
SQLParameter類指定存儲過程參數的數據類型,作為深層次防御性策略的一部分,可以驗證用戶提供的值類型(但也不是萬無一失,還是應該傳遞至數據庫前得到附加驗證)
存儲過程的缺點
缺點:
如果更改范圍大到需要對輸入存儲過程的參數進行更改,或者要更改由其返回的數據,則仍需要更新程序集中的代碼以添加參數,等等;
可移植性差,由于存儲過程將應用程序綁定到Server,因此使用存儲過程封裝業務邏輯將限制應用程序的可移植性;如果應用程序的可移植性在您的環境中非常重要,則將業務邏輯封裝在不特定于RDBMS的中間層中可能是一個更佳的選擇
存儲過程(storedprocedure)有時也稱sproc,它是真正的腳本,更準確地說,它是批處理(batch),但都不是很確切,它存儲與數據庫而不是單獨的文件中。存儲過程中有輸入參數,輸出參數以及返回值等。如果大家還想了解更多與之有關的信息,歡迎關注我們文軍營銷的官網。
推薦閱讀
說明:如果您有任何疑問或想咨詢其他業務請撥打電話 400 685 0732