日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL中的事物【转】

發(fā)布時間:2023/11/30 数据库 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL中的事物【转】 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
來源于:http://www.cnblogs.com/zhuifengnianshao/archive/2010/11/24/1886939.html事務(wù)(Transaction)是并發(fā)控制的單位,是用戶定義的一個操作序列。這些操作要么都做,要么都不做,是一個不可分割的工作單位。 通過事務(wù),SQL Server能將邏輯相關(guān)的一組操作綁定在一起,以便服務(wù)器保持?jǐn)?shù)據(jù)的完整性。 在sql server+ .net 開發(fā)環(huán)境下,有兩種方法能夠完成事務(wù)的操作,保持?jǐn)?shù)據(jù)庫的數(shù)據(jù)完整性; 一個就是用sql存儲過程,另一個就是在ADO.NET中一種簡單的事務(wù)處理; 現(xiàn)在通過一個典型的銀行轉(zhuǎn)賬的例子來說明一下這兩個例子的用法 我們先來看看sql存儲過程是如何來完成事務(wù)的操作的: 首先創(chuàng)建一個表: create database aaaa --創(chuàng)建一個表,包含用戶的帳號和錢數(shù) go use aaaa create table bb (ID int not null primary key, --帳號moneys money --轉(zhuǎn)賬金額 ) insert into bb values ('1','2000') --插入兩條數(shù)據(jù) insert into bb values ('2','3000') 用這個表創(chuàng)建一個存儲過程:create procedure mon --創(chuàng)建存儲過程,定義幾個變量@toID int, --接收轉(zhuǎn)賬的賬戶@fromID int , --轉(zhuǎn)出自己的賬戶@momeys money --轉(zhuǎn)賬的金額asbegin tran --開始執(zhí)行事務(wù)update bb set moneys=moneys-@momeys where ID=@fromID -執(zhí)行的第一個操作,轉(zhuǎn)賬出錢,減去轉(zhuǎn)出的金額update bb set moneys=moneys+@momeys where ID=@toID --執(zhí)行第二個操作,接受轉(zhuǎn)賬的金額,增加if @@error<>0 --判斷如果兩條語句有任何一條出現(xiàn)錯誤begin rollback tran –開始執(zhí)行事務(wù)的回滾,恢復(fù)的轉(zhuǎn)賬開始之前狀態(tài)return 0endgoelse --如何兩條都執(zhí)行成功begin commit tran 執(zhí)行這個事務(wù)的操作return 1endgo

  

轉(zhuǎn)載于:https://www.cnblogs.com/alphafly/p/3939337.html

總結(jié)

以上是生活随笔為你收集整理的SQL中的事物【转】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。