SQLServer傻瓜教程 — 事務

來源:互聯網
上載者:User

   在本文之前我讀過多篇關於事務的文章,大都說的比較深奧,可能讓新手也難以理解。 在此我們用非常簡單的例子講解一下事務的應用吧。

    

 第一:我們先建立一個暫存資料表,填寫一些資料。

CREATE TABLE #tab (id INT, country NVARCHAR(10), popu INT )INSERT INTO #tab VALUES (1, '中國', '600')INSERT INTO #tab VALUES (2, '美國', '100')INSERT INTO #tab VALUES (3, '加拿大', '100')INSERT INTO #tab VALUES (4, '英國', '200')INSERT INTO #tab VALUES (5, '法國', '300')INSERT INTO #tab VALUES (6, '日本', '250')INSERT INTO #tab VALUES (7, '德國', '200')INSERT INTO #tab VALUES (8, '墨西哥', '50')INSERT INTO #tab VALUES (9, '印度', '250')

以上我們就得到了一個暫存資料表資料。

第二: 寫幾句常用事務語句。

BEGIN TRANSACTION  COMMIT  ROLLBACK

 

好需要的資料和語句我們準備好了。 仔細看下面操作:

-- 我們下執行一下SQL 開始事務BEGIN TRANSACTION

然後我們直接刪除#tab

DELETE FROM #tab

現在肯定查詢不到資料了。

現在我們是執行了事務之後刪除的#tab( 一定要先執行事務,不然你就會把資料直接給KO掉了。)

注 : 假如我們上一步我們執行錯誤,需要回複資料。我們需要執行一下

--復原ROLLBACK

我們的資料又回來了。

 

注 : 假如上一步我們執行正確了, 你也不要忘記執行下面這句 (這句不執行的話會造成使用者死結。)

-- 執行COMMIT

 

理解很簡單吧。事務就是 先執行BEGIN TRANSACTION   錯誤執行 ROLLBACK  正確執行 COMMIT   所以我們會經常用到這種格式的事務。

BEGIN TRANSACTION    -- 開始事務BEGIN TRY  -- 捕捉異常         DELETE FROM #tab         COMMIT  -- 無異常執行END TRYBEGIN CATCH         ROLLBACK  -- 發現異常 復原END CATCH

 

事務的機制很複雜,但在使用時我們只需要理解上面的順序即可。 由此我們可以進行程式細顆粒交易回復的分析,在需要的地方正確的使用事務。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.