国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

Sql Server數據庫--》事務

2024-08-31 00:54:40
字體:
來源:轉載
供稿:網友
Sql Server數據庫--》事務

事務:更多的是一種處理機制(同生共死)

事務是對增刪改而言的(因為她們會改變數據)

事務是對多條語句而言,多個sql語句組成,整體執行

事務的4個特點叫做ACID:分別為:

1,A:原子性->事務不可以再分(意思是事務里的所有sql語句,要同時執行)

2,C:一致性->事務在操作后,表的數據需要保持莫種程度的一致性(sql語句操作后,要么都成功,要么都失敗)

3,I:隔離->事務是單獨執行的,一個事務與其它的事務隔離,沒有關系

4,D:持久性->但事務成功提交,那么對數據表的影響永久保留

事務的創建:

1,開啟事務:begintransation

2,提交事務:committransation

3,回滾事務:rollbacktransaction

注意:事務一旦開啟,就必須提交或回滾

如果沒有提交或回滾,那么你再次去訪問數據表,就打不開數據了

Eg:

Declare@errorint=0//創建變量,記錄錯誤信息0為正確

begintransaction//開啟事務

updatebanksetcmoney-=1000wherename=’aa’

Set@error=@error+@@error

updatebanksetcmoney+=1000wherename=’bb’

Set@error=@error+@@error

If(@error<>0)//如果error不等于0,說明有錯誤

rollbacktransaction//回滾

else

committransaction//提交

在VS中使用事務:步驟

StringconStr=”server=.;userid=sa;pwd=123;database=MySchoolMoreData”;

Using(SqlConnectionconn=newSqlConnection(conStr))

{

//創建事務,不能new,conn點方法begTransaction()

SqlTansactionst=null;

Try{

Conn.open();//打開通道

st=conn.begTransaction();

Stringsql1=“updatebanksetcmoney-=1000wherename=’aa’”;

Stringsql2=“updatebanksetcmoney+=1000wherename=’bb’”;

//告訴服務器使用事務機制進行處理

SqlCommandcomm=newSqlCommand(sql2,conn,st);

comm.ExecuteNonQuery();

Console.WriteLine(“ok1”);

comm.commandText=sql1;

comm.ExecuteNonQuery();

Console.WriteLine(“ok2”);

//都Ok的話,就提交事務了

st.Commit();

Console.ReadKey();

}

Catch(Exceptionex)//到了這里說明sql語句有錯

{

Conson.WriteLine(ex.Message);

st.RollBack();//回滾

Conson.ReadKey();

}

}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江油市| 潜山县| 拉萨市| 文化| 通化市| 睢宁县| 右玉县| 渝中区| 中方县| 宁阳县| 兴化市| 云浮市| 珠海市| 蒲城县| 大港区| 长岭县| 龙里县| 固原市| 务川| 威信县| 民乐县| 湛江市| 永清县| 永清县| 策勒县| 三台县| 阿拉善左旗| 潜江市| 五原县| 金川县| 嵊泗县| 青铜峡市| 明溪县| 措勤县| 大同市| 鞍山市| 抚顺县| 报价| 旅游| 遵义县| 金华市|