久久机这里只有精品,国产69精品一区二区亚洲孕妇,91精品国产综合久久婷婷香蕉,午夜久久久久久电影

最新活動:電腦PC端+手機端+微網站+自適應網頁多模板選擇-建站388元起價!??!
當前位置:主頁 > 網站建設 > SQL Transcation的一些總結分享建站知識

SQL Transcation的一些總結分享建站知識

時間:2023-05-24 00:05:24 閱讀: 文章分類: 網站建設 作者: 網站技術員

導讀:1建站知識相信大家對于SQL Transcation再熟悉不過,它確保了數據庫的數據一致性和安全性,尤其在對數據執行增刪時,如果發生建設網站公司seo網站優化培訓。

建設網站公司seo網站優化培訓1.1.1 摘要 相信大家對于SQL Transcation再熟悉不過,它確保了數據庫的數據一致性和安全性,尤其在對數據執行增刪時,如果發生異常和錯誤它就會觸發事務回滾,從而確保了我們數據的一致性和安全性,下面我們將通過分四部分介紹事件(Transcation)。 1.1.2 正文 首先讓我們通過一個具體的例子介紹Transcation的使用,假如我們的數據庫中有一個表UserInfo,它包含三個字段分別為:UserID(自增)、UserName (nvarchar)和LuckyNumber (tinyint),如下圖所示:

圖2執行存儲過程的消息 通過上圖我們知道在執行存儲過程中發生了異常,而且是由于值“20111111”數據超出了tinyint的范圍產生的,現在讓我們看一下數據插入的情況。

圖4 UserInfo表中數據 我們發現結果和沒有添加Transcation處理一樣,數據依然插入到表中。這究竟是什么原因呢?也許細心的你已經發現了,我們沒有添加事務回滾——ROLLBACK。 但我們究竟要在哪里添加事務回滾(ROLLBACK)呢?或更具體地說:“究竟企業網站建設什么時候我們要觸發事務回滾(ROLLBACK)呢”? 由于我們數據插入失敗是因為插入過程發生了異常情況,那么我們就要捕獲異常和處理異常,那就是TRY/CATCH的設計了,好讓我們繼續完善我們的存儲過程吧。

復制代碼 代碼如下:

-- ============================================= -- 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

關鍵詞標簽: 標題 標簽 SQL

聲明: 本文由我的SEOUC技術文章主頁發布于:2023-05-24 ,文章SQL Transcation的一些總結分享建站知識主要講述標簽,標題,SQL網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_6241.html

我的IDC 網站建設技術SEOUC.COM
專注網站建設,SEO優化,小程序設計制作搭建開發定制網站等,數千家網站定制開發案例,網站推廣技術服務。
  • 5000+合作客服
  • 8年從業經驗
  • 150+覆蓋行業
  • 最新熱門源碼技術文章

    主站蜘蛛池模板: 阜康市| 普陀区| 九台市| 宁化县| 炉霍县| 元朗区| 囊谦县| 来安县| 通许县| 大安市| 稻城县| 科技| 巴青县| 长宁区| 清水河县| 天全县| 万全县| 汨罗市| 枣强县| 嘉兴市| 满洲里市| 灵川县| 平塘县| 宜君县| 东辽县| 磐安县| 隆安县| 澄江县| 石棉县| 当阳市| 济南市| 盘山县| 随州市| 蒙山县| 青阳县| 克山县| 巴青县| 临猗县| 乌恰县| 远安县| 正宁县|