首页 > 数据库 >SQL Server 事务处理 回滚事务

SQL Server 事务处理 回滚事务

时间:2023-11-08 12:07:34浏览次数:54  
标签:回滚 into iErrorCount 事务处理 Server values c1 t1 Id

 创建表:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[t1](

    [Id] [int] NOT NULL,

    [c1] [nvarchar](50) NULL,

    [c2] [datetime] NULL,

 CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED 

(

    [Id] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

 

 解决方案(一)

declare   @iErrorCount   int 
set @iErrorCount = 0
begin tran Tran_2008_10_07

insert into t1(Id, c1) values(1,'1')
set @iErrorCount=@iErrorCount+@@error

insert into t1(Id, c1) values(2,'2')
set @iErrorCount=@iErrorCount+@@error

insert into t1(Id, c1) values('xxxx3','3')
set @iErrorCount=@iErrorCount+@@error

insert into t1(Id, c1) values(4,'4')
set @iErrorCount=@iErrorCount+@@error

insert into t1(Id, c1) values(5,'5')
set @iErrorCount=@iErrorCount+@@error

if @iErrorCount=0 

  begin   

    COMMIT TRAN Tran_2008_10_07

  end 
else   

  begin   

    ROLLBACK TRAN Tran_2008_10_07

  end

 

 解决方案(二)

begin try

    begin tran Tran_2008_10_07


        insert into t1(Id, c1) values(1,'1')


        insert into t1(Id, c1) values(2,'2')


        insert into t1(Id, c1) values('xxxx3','3')


        insert into t1(Id, c1) values(4,'4')


        insert into t1(Id, c1) values(5,'5')


    COMMIT TRAN Tran_2008_10_07
end try 
begin catch 

    raiserror 50005N'出错了' 

    ROLLBACK TRAN Tran_2008_10_07
end catch



标签:回滚,into,iErrorCount,事务处理,Server,values,c1,t1,Id
From: https://blog.51cto.com/emanlee/8247610

相关文章

  • SQL Server 2005透视表运算符PIVOT应用示例
    SQLServer2005行列转换 有用SQL写过交叉报表的,往往都比较头痛,还好现在SQL2005中提供了新的PIVOT操作符,可以很简单地写出交叉数据查询。正好前两天在研究ORACLE最新的11G版本提供的新特性,发现ORACLE11G也同样推出这个新PIVOT,而且语法格式也几乎是一样的,呵,看来这些主流的数据库都......
  • SQL Server 2005 数据库对象命名规范 Database Naming Conventions(Guidelines)
    使用SQLServer2005命名数据库对象时可以参照微软的示例数据库AdventureWorks。其次可以参照以下内容:DatabaseNamingConventionsVersion1.1LastRevisedMay13,2004byJasonMaussThemaingoalofadoptinganamingconventionfordatabaseobjectsissothatyouand......
  • .netCoreApi5.0+部署iis站点webconfig配置 HTTP 错误 500.24 - Internal Server Error
     <?xmlversion="1.0"encoding="utf-8"?><configuration><locationpath="."inheritInChildApplications="false"><system.webServer><handlers><addname="aspN......
  • git 回滚版本
    //1.回滚到上一次版本gitreset--hardHEAD^//2.同步到远程master,使之生效gitpush-f==========https://www.runoob.com/git/git-reset.html$gitresetHEAD^#回退所有内容到上一个版本$gitresetHEAD^hello.php#回退hello.php文件的版......
  • sql server 排序 row_number() over(order by ) as row /
    第一种排序方法:利用row_number()over(orderbycreatetimedesc)asrow参考来源:版权声明:本文为CSDN博主「云游的二狗」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/missingshirely/article/details/44037037语法如......
  • sql server 默认时间
    SQLServer默认时间设置教程引言在使用SQLServer数据库时,我们经常需要在表中添加日期和时间字段。有时候,我们希望在插入新记录时自动设置一个默认的日期和时间值。本教程将向你展示如何在SQLServer中设置默认时间,并提供详细的步骤和代码示例。整体流程下面是设置SQLServ......
  • SQL Server,Could not obtain exclusive lock on database 'model'
    创建SQLServer数据库时出现错误“Couldnotobtainexclusivelockondatabase'model'”尝试以下方法:1.totryreconnectingtothedatabase.2.Restartingtheservice.3.killingthespidholdingthelock. 执行以下SQL语句来查询:select d.name,resource_type,resour......
  • 怎样取消Windows 2003 server 意外关机提示
    怎样取消Windows2003server意外关机提示取消系统关机原因方法:(1)打开“开始”--“运行”命令,打开一个运行对话框,在其中输入“gpedit.msc”命令,来弹出组策略编辑界面。按回车后打开组策略编辑器。(2)在该界面中,用鼠标左键双击“计算机配置”文件夹----“管理模板”文件夹----“......
  • SQLserver、MYSQL、Oracle复制表结构和数据语句
    1.SQLserver语法select*into新表名from旧表名;2.mysql语法CREATETABLE新表名SELECT*FROM旧表;Oracle语法CREATETABLE新表ASSELECT*FROM旧表;......
  • SFTP无法连接 Connection closed by server with exitcode 127
    命令:Pass:************状态:Connectedto66.77.88.99错误:Connectionclosedbyserverwithexitcode127错误:无法连接到服务器 解决方法:vi/etc/ssh/sshd_config    其中:“Subsystemsftp/usr/libexec/sftp-server” 将其修改为正确的sftp-server路径Subsystem......