SQL Transcation的一些總結分享建站知識
導讀:1建站知識相信大家對于SQL Transcation再熟悉不過,它確保了數據庫的數據一致性和安全性,尤其在對數據執行增刪時,如果發生建設網站公司seo網站優化培訓。
1.1.1 摘要 相信大家對于SQL Transcation再熟悉不過,它確保了數據庫的數據一致性和安全性,尤其在對數據執行增刪時,如果發生異常和錯誤它就會觸發事務回滾,從而確保了我們數據的一致性和安全性,下面我們將通過分四部分介紹事件(Transcation)。 1.1.2 正文 首先讓我們通過一個具體的例子介紹Transcation的使用,假如我們的數據庫中有一個表UserInfo,它包含三個字段分別為:UserID(自增)、UserName (nvarchar)和LuckyNumber (tinyint),如下圖所示:
復制代碼 代碼如下:
-- ============================================= -- Author: JKhuang -- Create date: 12/8/2011 -- Description: Inserts data -- ============================================= Alter PROCEDURE SPAddDataToUserInfo AS BEGIN BEGIN TRY BEGIN TRANSACTION -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Hard code inserted data. INSERT INTO UserInfo VALUES('JKhuang', 8); INSERT INTO UserInfo VALUES('Jackson', 20111111); INSERT INTO UserInfo VALUES('JKRush', 23); COMMIT TRANSACTION END TRY BEGIN CATCH ROLLBACK TRANSACTION END CATCH END GO
現在我們給存儲過程添加了異常處理機制TRY/CATCH(注意:SQLSERVER 2005或之后的版本才支持TRY/CATCH),接下來讓我們再執行一次存儲過程。 圖6 執行存儲過程消息-- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. --SET NOCOUNT ON; -- Hard code inserted data. INSERT INTO UserInfo VALUES('JKhuang', 8); INSERT INTO UserInfo VALUES('Jackson', 20111111); INSERT INTO UserInfo VALUES('JKRush', 23); COMMIT TRANSACTION END TRY BEGIN CATCH PRINT 'Error in [SPAddDataToUserInfo]: ' + ERROR_MESSAGE(); ROLLBACK TRANSACTION PRINT ERROR_MESSAGE(); PRINT 'Rolled back successful Transactions: ' + Convert(varchar, @@TRANCOUNT); END CATCH END GO -- ============================================= -- Author: JKhuang -- Create date: 12/8/2011 -- Description: Invokes store procedure to insert data. -- ========================================網seo優化趨勢===== ALTER PROCEDURE SPMultiDataToUserInfo AS BEGIN BEGIN TRY BEGIN TRANSACTION PRINT 'In [SPMultiDataToUserInfo] Transactions: ' + Convert(varchar, @@TRANCOUNT); -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. --SET NOCOUNT ON; -- Hard code inserted data. INSERT INTO UserInfo VALUES('Cris', 1); EXEC SPAddDataToUserInfo INSERT INTO UserInfo VALUES('Ada', 32); COMMIT TRANSACTION END TRY BEGIN CATCH PRINT 'Error in [SPMultiDataToUserInfo]: ' + ERROR_MESSAGE(); ROLLBACK TRANSACTION PRINT ERROR_MESSAGE(); PRINT 'Rolled back successful Transactions: ' + Convert(varchar, @@TRANCOUNT); END CATCH END GO
聲明: 本文由我的SEOUC技術文章主頁發布于:2023-05-24 ,文章SQL Transcation的一些總結分享建站知識主要講述標簽,標題,SQL網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_6241.html