婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Sql Server事務語法及使用方法實例分析

Sql Server事務語法及使用方法實例分析

熱門標簽:智能語音外呼系統選哪家 怎樣在地圖上標注路線圖標 武漢長沙外呼系統方法和技巧 百度地圖標注不同路線 外呼系統電銷專用 千呼電銷機器人價格 奧威地圖標注多個地方 京華物流公司地圖標注 優質地圖標注

本文實例講述了Sql Server事務語法及使用方法。分享給大家供大家參考,具體如下:

事務是關于原子性的。原子性的概念是指可以把一些事情當做一個不可分割的單元來看待。從數據庫的角度看,它是指應全部執行或全部不執行的一條或多條語句的最小組合。

為了理解事務的概念,需要能夠定義非常明確的邊界。事務要有非常明確的開始和結束點。SqlServer中的每一條select、insert、update、delete語句都是隱式事務的一部分。即使只發出一條語句,也會把這條語句當做一個事務-或執行語句的所有內容或什么都不執行。但是如果需要的不只是一條,而是多條語句呢?在這種情況下,就需要有一種方法來標記事務的開始和結束,以及事務的成功或失敗。可以使用一些T-SQL語句在事務中“標記”這些點。

  • begin tran:設置起點
  • commit tran:使事務成為數據庫中永久的、不可逆轉的一部分
  • rollback tran:本質上說想要忘記它曾經發生過
  • save tran:創建一個特定標記,只允許部分回滾

begin tran

事務的開始可能是事物過程中最容易理解的概念。它唯一的目的就是表示一個單元的開始。如果由于某種原因,不能或者不想提交事務,那么這就是所有數據庫活動將要回滾的起點。也就是說,數據庫會忽略這個起點之后的最終沒有提交的所有語句。

語法如下:

復制代碼 代碼如下:
begin tran[saction] [transaction name>|@transaction variable>][with mark['description'>]]

commit tran

事務的提交是一個事務的終點。當發出commit tran命令時,可以認為事務執行完畢。也就是說,事務所包含的所有Sql語句執行完畢,事務的影響現在是持久的并會繼續,即使系統發生故障也不受影響(只要有備份或數據庫文件沒有被物理破壞就行)。撤銷已完成事務的唯一方法就是發出一個新的事務,從功能上而言,該事務是對上一個事務的反轉。

commit tran語法如下:

復制代碼 代碼如下:
commit tran[saction][transaction name>|@transaction variable>]

rollback tran

rollback是進行事務回滾,從關聯的begin語句開始發生的任何事情都會被忘記,即撤銷該事務包含的所有操作。除了允許保存點外,rollback的語法看上去和begin或commit語句一樣:

復制代碼 代碼如下:
rollback tran[saction][transaction name>|save point name>|@transaction variable>|@savepoint variable>]

save tran

保存事務從本質上說就是創建書簽(bookmark)。為書簽建立一個名稱,在建立了“書簽”之后,可以在回滾中引用它。創建書簽的好處是可以回滾到代碼中的特定點上-只要為想要回滾到的那個保存點命名。

語法如下:

復制代碼 代碼如下:
save tran[saction][save point name>|@savepoint variable>]

SqlServer事務實例

UserInfo表結構如圖:

 

事務代碼1:

begin tran tran_AddUserInfo --開始事務
declare @tran_error int;
set @tran_error=0;
begin try
 insert into dbo.UserInfo values(2016009,'aaa','2016-08-19 09:13:41.227','男')
 insert into dbo.UserInfo values(2016009,'bbb','2016-08-19 09:13:41.227','哼哼哼')
 insert into dbo.UserInfo values(2016009,'ccc','2016-08-19 09:13:41.227','哈哈哈')
end try
begin catch
 set @tran_error=@tran_error+1; --加分號或不加都能正常執行
end catch
if(@tran_error>0)
begin
 rollback tran tran_AddUserInfo; --執行出錯,回滾事務(指定事務名稱)
 print @tran_error;
end
else
begin
 commit tran tran_AddUserInfo; --沒有異常,提交事務(指定事務名稱)
 print @tran_error;
end

事務代碼2:

begin tran tran_AddUserInfo --開始事務
declare @tran_error int;
set @tran_error=0;
begin try
 insert into dbo.UserInfo values(2016009,'aaa','2016-08-19 09:13:41.227','男')
 insert into dbo.UserInfo values(2016009,'bbb','2016-08-19 09:13:41.227','哈哈')
 insert into dbo.UserInfo values(2016009,'ccc','2016-08-19 09:13:41.227','哈哈')
end try
begin catch
 set @tran_error=@tran_error+1; --加分號或不加都能正常執行
end catch
if(@tran_error>0)
begin
 rollback tran; --執行出錯,回滾事務(不指定事務名稱)
 print @tran_error;
end
else
begin
 commit tran; --沒有異常,提交事務(不指定事務名稱)
 print @tran_error;
end

C#后臺代碼拼Sql事務語句

public partial class TestSqlTran : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {
    if(!IsPostBack)
    {
      Execute();
    }
  }
  private void Execute()
  {
    string connString = ConfigurationManager.ConnectionStrings["connString"].ToString();
    SqlConnection connection = new SqlConnection(connString);
    StringBuilder sqlSB=new StringBuilder();
    /*sqlSB.AppendLine("begin tran tran_handle")與SqlServer中的換行不是一回事,
     C#后臺每行Sql語句后邊必須加空格分隔,
     不能用sqlSB.AppendLine("begin tran tran_handle")來替代sqlSB.Append("begin tran tran_handle ")
    */
    sqlSB.Append("begin tran tran_handle ");
    sqlSB.AppendFormat("declare {0} int;set {0}=0;", "@tran_error");
    sqlSB.Append("begin try ");
    sqlSB.AppendFormat("delete from Descriptions where Id='{0}' ", "1");
    sqlSB.Append("end try ");
    sqlSB.Append("begin catch ");
    //set @tran_error=@tran_error+1;以分號結尾可以不用空格
    sqlSB.Append("set @tran_error=@tran_error+1;");
    sqlSB.Append("end catch ");
    sqlSB.Append("if(@tran_error>0) begin rollback tran; end ");
    sqlSB.Append("else begin commit tran; end ");
    SqlCommand cmd=new SqlCommand(sqlSB.ToString(),connection);
    connection.Open();
    int count = cmd.ExecuteNonQuery();
    connection.Close();
  }
}

更多關于SQL Server相關內容感興趣的讀者可查看本站專題:《SQL Server查詢操作技巧大全》、《SQL Server日期與時間操作技巧總結》、《SQL Server存儲過程技巧大全》、《SQL Server索引操作技巧大全》及《SQL Server常用函數匯總》

希望本文所述對大家SQL Server數據庫程序設計有所幫助。

您可能感興趣的文章:
  • c#實現sqlserver事務處理示例
  • SQL Server觸發器及觸發器中的事務學習
  • sqlserver中的事務和鎖詳細解析
  • Sqlserver 存儲過程中結合事務的代碼
  • SQLSERVER分布式事務使用實例
  • 淺析SQL Server中包含事務的存儲過程
  • SQLServer存儲過程中事務的使用方法
  • sqlserver 函數、存儲過程、游標與事務模板
  • SQL Server存儲過程中編寫事務處理的方法小結
  • Sql Server中的事務介紹

標簽:益陽 天水 七臺河 威海 宿州 防疫戰設 來賓 銅仁

巨人網絡通訊聲明:本文標題《Sql Server事務語法及使用方法實例分析》,本文關鍵詞  Sql,Server,事務,語法,及,使用方法,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Sql Server事務語法及使用方法實例分析》相關的同類信息!
  • 本頁收集關于Sql Server事務語法及使用方法實例分析的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲va欧美va人人爽午夜| 3d动漫精品啪啪1区2区免费| 91国内精品野花午夜精品| 国产欧美日韩三级| 东方aⅴ免费观看久久av| 3atv一区二区三区| 久久99国内精品| 精品国产欧美一区二区| 激情综合一区二区三区| 久久久青草青青国产亚洲免观| 国产一区欧美一区| 亚洲欧美在线视频| 欧美丝袜丝nylons| 日本中文字幕一区二区视频| 91精品一区二区三区在线观看| 日日摸夜夜添夜夜添国产精品 | 91麻豆国产福利精品| 亚洲免费资源在线播放| 欧美日韩欧美一区二区| 精品综合久久久久久8888| 久久精品一区蜜桃臀影院| 国产成人激情av| 亚洲欧美一区二区三区极速播放| 欧美影视一区二区三区| 麻豆精品视频在线观看免费| 国产精品妹子av| 欧美日韩视频在线第一区| 国产另类ts人妖一区二区| 亚洲色图欧美在线| 欧美一区二区三区精品| 成人免费毛片高清视频| 青娱乐精品在线视频| 国产日韩欧美综合一区| 欧美乱熟臀69xxxxxx| 处破女av一区二区| 青青青伊人色综合久久| 亚洲精品国产一区二区精华液| 亚洲精品在线一区二区| 欧美日本精品一区二区三区| 国产大片一区二区| 美腿丝袜一区二区三区| 伊人夜夜躁av伊人久久| 国产三级一区二区| 亚洲精品在线观看网站| 欧美二区三区91| 色噜噜狠狠成人网p站| 欧美撒尿777hd撒尿| 亚洲永久精品国产| 蜜臀av一区二区| 国产精品不卡一区| 日韩视频中午一区| 欧美在线观看视频一区二区三区| 成人美女视频在线看| 韩国精品主播一区二区在线观看| 亚洲一区中文日韩| 樱桃国产成人精品视频| 欧美国产激情二区三区| 精品国产青草久久久久福利| 欧美日韩国产精品成人| 欧洲av一区二区嗯嗯嗯啊| 成人网在线免费视频| 韩国精品主播一区二区在线观看 | 日韩午夜精品电影| 欧美人妖巨大在线| 色欲综合视频天天天| 91视频在线观看| 91麻豆免费在线观看| 在线亚洲+欧美+日本专区| 日本精品一区二区三区高清| 91久久免费观看| 欧美成人精品3d动漫h| 欧美色爱综合网| 欧美精品久久一区| 日韩精品在线看片z| 久久综合九色综合欧美98| 精品国产露脸精彩对白| 2021国产精品久久精品| 国产女人水真多18毛片18精品视频| 26uuu亚洲综合色| 久久久影视传媒| 中文字幕精品在线不卡| 亚洲免费观看高清| 亚洲电影激情视频网站| 麻豆成人免费电影| 成人免费视频一区二区| 99久久久免费精品国产一区二区| 色妞www精品视频| 欧美制服丝袜第一页| 91麻豆精品91久久久久久清纯| 26uuu国产电影一区二区| 国产精品免费免费| 亚洲综合偷拍欧美一区色| 亚洲成人免费在线| 免费成人av资源网| 成人午夜视频网站| 欧美日韩国产a| 久久日韩粉嫩一区二区三区| 亚洲日本在线看| 日韩国产在线观看一区| 国产精品一品视频| 欧美日韩在线一区二区| 日韩免费一区二区| 一个色综合网站| 国产成人在线色| 欧美日韩国产免费一区二区| 国产亚洲欧美中文| 午夜精品一区二区三区免费视频 | 麻豆精品新av中文字幕| 99久久精品国产一区| 欧美一区二区三区精品| 国产精品蜜臀在线观看| 蜜桃一区二区三区在线| www.久久久久久久久| 欧美一区二区视频在线观看| 中文字幕一区二区三区在线观看 | 中文字幕一区二区三区在线播放| 日本美女一区二区三区视频| youjizz久久| 日韩一级精品视频在线观看| 亚洲欧洲99久久| 国产一区二区三区电影在线观看| 欧美日韩中文字幕精品| 亚洲少妇30p| 国产成人在线看| 精品少妇一区二区三区在线播放 | 久久午夜羞羞影院免费观看| 亚洲福利一二三区| 91在线观看视频| 免费成人av在线播放| 最新久久zyz资源站| 国产在线乱码一区二区三区| 在线播放/欧美激情| 日韩精品一区二区在线观看| 亚洲一区二区在线播放相泽 | 国产伦精品一区二区三区免费迷| 欧美三级视频在线| 怡红院av一区二区三区| 91小视频在线| 欧美精品一区二区不卡| 国产主播一区二区| 久久综合狠狠综合| 国产美女一区二区三区| 欧美精品一区二区三区久久久| 日本欧美一区二区| 欧美r级在线观看| 激情伊人五月天久久综合| 精品国产精品网麻豆系列| 九九在线精品视频| 日韩免费一区二区| 国产精品一级黄| 国产精品久久久久桃色tv| 91香蕉视频污| 亚洲综合激情网| 欧美日韩一区三区四区| 五月激情综合网| 2020国产精品自拍| 不卡视频免费播放| 亚洲一区二区三区四区在线| 精品国产乱码久久久久久浪潮 | 一区二区三区视频在线看| 91国产精品成人| 日韩国产欧美在线播放| 久久久久久麻豆| 94-欧美-setu| 日韩国产欧美视频| 久久综合九色综合97_久久久| 高清在线成人网| 亚洲激情中文1区| 日韩精品专区在线影院重磅| 国产一区美女在线| 亚洲男人天堂一区| 欧美大片免费久久精品三p| caoporm超碰国产精品| 樱桃视频在线观看一区| 日韩欧美在线影院| 国产麻豆视频一区| 亚洲精品伦理在线| 亚洲精品一区二区三区影院| 99国产精品国产精品久久| 日韩高清一区在线| 自拍偷在线精品自拍偷无码专区| 欧美一区午夜视频在线观看| 高清不卡一二三区| 日韩中文字幕区一区有砖一区| 久久精品人人做人人爽97| 中文字幕欧美三区| 国产精品久久久久久久裸模| 2023国产精品| 一本在线高清不卡dvd| 国产精品1区二区.| 国产91精品一区二区麻豆亚洲| 国产精品白丝在线| 日韩精品一区二| 欧美日韩国产一二三| av成人免费在线观看| 久久99热国产| 亚洲国产日韩a在线播放性色| 国产精品青草久久| 久久久久9999亚洲精品| 欧美色视频一区|