广告
返回顶部
首页 > 资讯 > 精选 >SQL Server中的事务怎么设置
  • 148
分享到

SQL Server中的事务怎么设置

2023-06-30 15:06:08 148人浏览 泡泡鱼
摘要

这篇文章主要介绍了sql Server中的事务怎么设置的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SQL Server中的事务怎么设置文章都会有所收获,下面我们一起来看看吧。事务全部是关于

这篇文章主要介绍了sql Server中的事务怎么设置的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SQL Server中的事务怎么设置文章都会有所收获,下面我们一起来看看吧。

事务全部是关于原子性的。原子性的概念是指可以把一些事情当做一个单元来看待。从数据库的角度看,它是指应全部执行或全部都不执行的一条或多条语句的最小组合。
为了理解事务的概念,需要能够定义非常明确的边界。事务要有非常明确的开始和结束点。SQL Server中的每一条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命令时,可以认为该事务是持久的。也就是说,事务的影响现在是持久的并会持续,即使发生系统故障也不受影响(只要有备份或者数据库文件没有被物理破坏就行)。撤销已完成事务的唯一方法是发出一个新的事务。从功能上而言,该事务是对第一个事务的反转。

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[scation] [ <save point name> | <@savepoint variable> ]

五、示例

先来建一张表如下:

SQL Server中的事务怎么设置

事务的具体代码:

begin tran Tran_Money; --开始事务declare @tran_error int;set @tran_error = 0;begin try    update tb_Money set MyMoney = MyMoney - 30 where Name = '刘备';    set @tran_error = @tran_error + @@ERROR;    --测试出错代码,看看刘备的钱减少,关羽的钱是否会增加    --SET @tran_error = 1;    update tb_Money set MyMoney = MyMoney + 30 where Name = '关羽';    set @tran_error = @tran_error + @@ERROR;end trybegin catch    print '出现异常,错误编号:' + convert(varchar, error_number()) + ',错误消息:' + error_message();    set @tran_error = @tran_error + 1;end catch;if ( @tran_error > 0 )    begin        --执行出错,回滚事务        rollback tran;        print '转账失败,取消交易!';    end;else    begin        --没有异常,提交事务        commit tran;        print '转账成功!';    end;

关于“SQL Server中的事务怎么设置”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“SQL Server中的事务怎么设置”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: SQL Server中的事务怎么设置

本文链接: https://www.lsjlt.com/news/329822.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SQL Server中的事务怎么设置
    这篇文章主要介绍了SQL Server中的事务怎么设置的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SQL Server中的事务怎么设置文章都会有所收获,下面我们一起来看看吧。事务全部是关于...
    99+
    2023-06-30
  • Sql Server中事务的介绍
    这篇文章主要介绍“Sql Server中事务的介绍”,在日常操作中,相信很多人在Sql Server中事务的介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Sql Serv...
    99+
    2022-10-18
  • SQL Server中怎么设置主键自增长
    SQL Server中怎么设置主键自增长,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.新建一数据表,里面有字段id,将id...
    99+
    2022-10-18
  • SQL Server中怎么设置最大连接数
    这期内容当中小编将会给大家带来有关SQL Server中怎么设置最大连接数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、设置最大连接数下面的T-SQL 语句可以配置S...
    99+
    2022-10-18
  • sql server中怎么设置ID字段自增
    sql server中怎么设置ID字段自增,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。打开要设置的数据库表,点击要设置的字段...
    99+
    2022-10-18
  • sql server 2008中怎么配置MyEclipes
    sql server 2008中怎么配置MyEclipes,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.  &nb...
    99+
    2022-10-18
  • SQL Server中怎么截断和收缩事务日志
    SQL Server中怎么截断和收缩事务日志,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。  当SQL Server截断事务日...
    99+
    2022-10-18
  • sql server 2000 数据库中怎么设置自动备份
    本篇文章给大家分享的是有关sql server 2000 数据库中怎么设置自动备份,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1.打开MS ...
    99+
    2022-10-18
  • SQL Server中怎么配置管理器
    本篇文章给大家分享的是有关SQL Server中怎么配置管理器,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。  SQL Server 2005...
    99+
    2022-10-18
  • SQL Server中怎么实现事务操作隔离模式
    这期内容当中小编将会给大家带来有关SQL Server中怎么实现事务操作隔离模式,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。  1.脏数据读写,这种情况发生在当一个事务...
    99+
    2022-10-18
  • SQL Server中事务与锁的示例分析
    这篇文章将为大家详细讲解有关SQL Server中事务与锁的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一  概述在数据库方面,对于非DBA的程序员来...
    99+
    2022-10-18
  • 怎么在SQL Server数据库中设置自动备份策略
    这篇文章将为大家详细讲解有关怎么在SQL Server数据库中设置自动备份策略,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一. 简单介绍SQL Serve...
    99+
    2022-10-18
  • 一文分析SQL Server中事务使用的锁
    目录序SQL Server使用的锁及锁对象SQL Server执行Select时使用的锁SQL Server执行insert时使用的锁SQL Server执行update时使用的锁总结序 本文属于基础知识的回顾...
    99+
    2022-09-02
  • 一文分析SQL Server中事务使用的锁
    目录序SQL Server使用的锁及锁对象SQL Server执行Select时使用的锁SQL Server执行insert时使用的锁SQL Server执行update时...
    99+
    2022-11-13
  • Ubuntu server中怎么设置RainLoop Webmail
    本篇内容介绍了“Ubuntu server中怎么设置RainLoop Webmail”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!RainL...
    99+
    2023-06-28
  • SQL Server中怎么链接服务器
    今天就跟大家聊聊有关SQL Server中怎么链接服务器,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、为MySQL建立一个ODBC系统数据源,例...
    99+
    2022-10-18
  • SQL Server中怎么利用sp_password重置SA密码
    SQL Server中怎么利用sp_password重置SA密码,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。sp_passw...
    99+
    2022-10-18
  • SQL Server中的DATEADD怎么使用
    这篇文章主要讲解了“SQL Server中的DATEADD怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL Server中的DATEADD怎么使用”吧!句法与类似的功能一样,&n...
    99+
    2023-06-05
  • sql中identity_insert怎么设置为on
    在 SQL 中,IDENTITY_INSERT 可以设置为 ON 或 OFF 来允许或禁止对标识列(IDENTITY column)...
    99+
    2023-08-30
    sql
  • weblogic事务超时怎么设置
    在WebLogic中,您可以通过以下步骤来设置事务超时时间: 打开WebLogic管理控制台。 导航到您的WebLogic域。 在...
    99+
    2023-10-27
    weblogic
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作