• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > SQL Server重温 事务

SQL Server重温 事务

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了事务等相关知识,希望本文的分享对您有所帮助

当对多个表进行更新的时候,某条执行失败。为了保持数据的完整性,需要使用事务回滚

为什么使用事务
  当对多个表进行更新的时候,某条执行失败。为了保持数据的完整性,需要使用事务回滚。
显示设置事务
代码如下:
begin try
begin transaction
insert into shiwu (asd) values ('aasdasda');
commit transaction
end try
begin catch
select ERROR_NUMBER() as errornumber
rollback transaction
end catch

隐式设置事务
代码如下:
set implicit_transactions on; -- 启动隐式事务
go
begin try
insert into shiwu (asd) values ('aasdasda');
insert into shiwu (asd) values ('aasdasda');
commit transaction;
end try
begin catch
select ERROR_NUMBER() as errornumber
rollback transaction; --回滚事务
end catch
set implicit_transactions off; --关闭隐式事务
go

显示事务以下语句不能使用,隐式事务可以
代码如下:
alter database;
backup;
create database;
drop database;
reconfigure;
restore;
update statistics;

显示事务可以嵌套使用
代码如下:
--创建存储过程
create procedure qiantaoProc
@asd nchar(10)
as
begin
begin try
begin transaction innerTrans
save transaction savepoint --创建事务保存点
insert into shiwu (asd) values (@asd);
commit transaction innerTrans
end try
begin catch
rollback transaction savepoint --回滚到保存点
commit transaction innerTrans
end catch
end
go
begin transaction outrans
exec qiantaoProc 'asdasd';
rollback transaction outrans

事务嵌套,回滚外层事务时,如果嵌套内的事务已经回滚过则会有异常。此时需要使用事务保存点。如上代码。
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-05-11SUSE Linux下通过RPM方式卸载MySQL 5过程笔记
  • 2017-05-11phpmyadmin出现#2003服务器无响应解决方法小结
  • 2017-05-11磁盘已满造成的mysql启动失败问题分享
  • 2018-12-05通过sql语句将blob里的char取出来转成数字保存在其它字段
  • 2018-12-05MMC提示不能打开文件SQLServerEnterpriseManager.MSC的解决方法
  • 2018-12-05oracle 存储过程和函数例子
  • 2018-12-05mysql处理大量数据时的优化查询速度的方法详解
  • 2018-12-05mysql5.7导出数据提示--secure-file-priv选项问题的解决方法
  • 2018-12-05详解MySQL的主从复制、读写分离、备份恢复
  • 2018-12-05php访问mysql数据库的一般步骤

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 编写SQL需要注意的细节Checklist总结
    • 理解和使用Oracle 8i分析工具LogMiner
    • mysql建立自定义函数的问题
    • Mysql中关于权限设置详解
    • mysql 跨表查询、更新、删除示例
    • 分页存储过程(用存储过程实现数据库的分页代码)
    • 判断触发器正在处理的是插入,删除还是更新触发
    • 关于MySQL的整型数据的内存溢出问题的应对方法
    • mysql同步复制搭建方法指南详细步骤
    • SQL SERVER性能优化综述(很好的总结,不要错过哦)第1/3页

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有