SQL 事务的编写能不能提供一个实例 最好给出一个规范的实例!不要一个sql语句一个提交的那种!要先定义后在

SQL 事务的编写能不能提供一个实例 最好给出一个规范的实例!不要一个sql语句一个提交的那种!要先定义后在,第1张

SAVE TRANSACTION 保存点名称 --自定义保存点的名称和位置

ROLLBACK TRANSACTION 保存点名称 --回滚到自定义的保存点

BEGIN TRANSACTION--开始事务

DECLARE @errorSun INT --定义错误计数器

SET @errorSun=0 --没错为0

UPDATE a SET id=232 WHERE a=1 --事务 *** 作SQL语句

SET @errorSun=@errorSun+@@ERROR --累计是否有错

UPDATE aa SET id=2 WHERE a=1 --事务 *** 作SQL语句

SET @errorSun=@errorSun+@@ERROR --累计是否有错

IF @errorSun<>0

BEGIN

PRINT '有错误,回滚'

ROLLBACK TRANSACTION--事务回滚语句

END

ELSE

BEGIN

PRINT '成功,提交'

COMMIT TRANSACTION--事务提交语句

END

sql事务处理

BEGIN TRANSACTION--开始事务

DECLARE @errorSun INT --定义错误计数器

SET @errorSun=0 --没错为0

UPDATE a SET id=232 WHERE a=1 --事务 *** 作SQL语句

SET @errorSun=@errorSun+@@ERROR --累计是否有错

UPDATE aa SET id=2 WHERE a=1 --事务 *** 作SQL语句

SET @errorSun=@errorSun+@@ERROR --累计是否有错

IF @errorSun<>0

BEGIN

PRINT '有错误,回滚'

ROLLBACK TRANSACTION--事务回滚语句

END

ELSE

BEGIN

PRINT '成功,提交'

COMMIT TRANSACTION--事务提交语句

END

DBTransaction Db = new DBTransaction()

//获取连接

SqlConnection conn = Db.GetConnection()

//获取事务

SqlTransaction trans = Db.GetTransaction(conn)

//定义一个布尔型变量

bool isUseExamTemplate = false

try

{

for (int i = 0i <examNormTemplate.Counti++)

{

ExamNormLinkEntity item = (ExamNormLinkEntity)examNormTemplate[i]

isUseExamTemplate = examMethod.Add(item, conn, trans)

}

//提交事务

Db.Commit(trans)

}

catch(Exception e)

{

//回滚事务

Db.Rollback(trans)

throw e

}

finally

{

//关闭连接

Db.Close(conn)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6730725.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存