『壹』 什麼是存儲過程有什麼優點
存儲過程是事先經過編譯並存儲在資料庫中的一段SQL語句的集合,調用存儲過程可以簡化應用開發人員的很多工作,減少數據在資料庫和應用伺服器之間的傳輸,對於提高數據處理的效率是有好處的。
優點:
1、重復使用:存儲過程可以重復使用,從而可以減少資料庫開發人員的工作量。
2、減少網路流量:存儲過程位於伺服器上,調用的時候只需要傳遞存儲過程的名稱以及參數就可以了,因此降低了網路傳輸的數據量。
3、安全性:參數化的存儲過程可以防止SQL注入式攻擊,而且可以將Grant、Deny以及Revoke許可權應用於存儲過程。
(1)事務與存儲過程理論擴展閱讀:
存儲過程的缺點:
1、更改比較繁瑣:如果更改范圍大到需要對輸入存儲過程的參數進行更改,或者要更改由其返回的數據,則仍需要更新程序集中的代碼以添加參數、更新 GetValue() 調用,等等,這時候估計比較繁瑣。
2、可移植性差:由於存儲過程將應用程序綁定到 SQL Server,因此使用存儲過程封裝業務邏輯將限制應用程序的可移植性。如果應用程序的可移植性在您的環境中非常重要,則需要將業務邏輯封裝在不特定於 RDBMS 的中間層中。
『貳』 MySQL資料庫存儲過程和事務的區別
事務是保證多個SQL語句的原子型的,也就是要麼一起完成,要麼一起不完成
存儲過程是把一批SQL語句預編譯後放在伺服器上,然後可以遠程調用
二者完全不是可對比的關系。
『叄』 關於存儲過程與事務
這兩個概念可以說是兩個范疇的概念,事務是資料庫操作范疇的概念,保證資料庫數據的完整性和一致性;存儲過程是高級程序設計中模塊化設計思想的重要內容。
事務是包含一組修改(插入、更新和刪除)的工作的邏輯單位。事務的操作要麼被保存到資料庫commit,要麼回滾rollback,事務中的所有修改要麼全部提交,要麼什麼也不做,這樣保證了資料庫中數據的完整性和一致性。
資料庫操作中為了完成一個完整的資料庫任務,從而引進高級程序的設計要素。過程就是高級程序設計語言中的模塊概念,將一些內部聯系的命令組成一個個過程,通過參數在過程間傳遞數據來完成一個完整的資料庫任務,這就是模塊化設計思想的重要內容。
有的時候可以把一個過程看作一個事務,但是有的過程運行過程中因為滿足某些條件而從過程中跳出,這時就不能把過程看作事務;反之,一個事務可能是一個過程,也可能一個事務中包含對一個或多個過程的調用。
二者概念所述的范疇不同,在資料庫中,是相互聯系相互區別的;而且兩者都是具體的,不是抽象的,因為都可以拿出一段代碼,說它是事務或是存儲過程。
以上是個人理解,希望對你有所幫助。
『肆』 SQL的存儲過程和事務是怎麼回事
存儲過程就相當於編程語言中的函數或方法,根據用戶給定的參數執行一段代碼
例:你給我20分,我從鍵盤輸入文字,回答問題,並提交答案.我所做的就是一個存儲過程,你給的20分是參數,你給的分多,我就回答的詳細
事務是一種機制,確保一組資料庫命令,要麼全都執行,要麼都不執行
例:你到銀行轉帳1000元到我的賬戶里,當錢剛從你的賬戶里取出來(還沒來的及轉入我的賬戶),突然斷電了,這時你的賬戶就莫名其妙的損失了1000元,事務就是為了避免這種情況,只有當你的賬戶減少1000,並且我的賬戶存入1000之後,這個轉帳才算成功,所以就要將"存款"和"取款"寫到一個事務中去