MSSQL 之事务订单存储过程
1. 赋值 set 或者 select 运算符
2.全局,局部变量区别,生命域 (全局变量用户不能定义)
3.@@identity 返回最后插入行的标识列的列值。
4.delete 只删除了数据而已,表结构表约束触发器仍然爱还在
5. select score,
case
when score>90 then '优秀'
when score>80 then '良好'
when score>70 then '不错'
else '要加把劲了孩子'
end
6.waitfor delay '01:00' 等待一小时,最多24小时,可以精确到小时,分钟秒
waifor time '11:00' 等待11点再执行后面的语句
命令:alt+break 停止执行
7. dml 数据操纵语言,进行插入,修改,删除
dcl 数据控制语言,用户权限,比如将某表的插入,删除权限赋予某用户
8. 事务的属性 acid; 事务恢复和检查点机制。为了减少磁盘读写,将合适的数据放到缓存中。当你写入数据的时候,会写到事务日志中,系统会在检查点检查是否有变动,然后提交到数据库中,至于这个检查点的相隔多少时间是根据当前系统的使用情况,比如有多少人在使用,是否繁忙等等。当然可以使用checkpoint强制检查点检查,
将当前数据库的全部脏页写入磁盘。“脏页”是已输入缓存区高速缓存且已修改但尚未写入磁盘的数据页。CHECKPOINT 可创建一个检查点,在该点保证全部脏页都已写入磁盘,从而在以后的恢复过程中节省时间。
出于性能方面的考虑,数据库引擎对内存中数据库页进行修改,但在每次更改后不将页写入磁盘。不过,数据库引擎需要定期执行检查点,以将这些脏页写入磁盘。将脏页写入磁盘时会创建一个已知的正常点,在意外关闭或发生故障后进行恢复的过程中,数据库引擎可以从该点开始应用日志中所包含的更改。有关详细信息,请参阅检查点和日志的活动部分。
1)显示事务 begin tran
2)隐式事务 set implict_transaction on
--commit transaction
9. 死锁的4个必要条件
1)例子人为制造死锁
rollback 或者commit 解锁
死锁的排查
减少死锁3个策略
MSSQL 之事务订单存储过程的更多相关文章
- MySQL基础(二):视图、触发器、函数、事务、存储过程
一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. 视图和上一篇学到的临时表搜索类似. ...
- SQL Server 2008 存储过程,带事务的存储过程(创建存储过程,删除存储过程,修改存储过
SQL Server 2008 存储过程,带事务的存储过程(创建存储过程,删除存储过程,修改存储过 存储过程 创建存储过程 use pubs --pubs为数据库 go create proc ...
- sqlserver中创建包含事务的存储过程
什么是事务 事务时包含1条或多条语句的逻辑单元.事务中的语句是一个整体,要么一起提交,要么一起撤销.事务在提交前可以回滚,一旦提交就不能撤销修改了,是永久性的修改. 为什么使用事务 ...
- SQL Server中带事务的存储过程简单举例
先来看一个概念: 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完整地执行,要么完全地不执行.那么在存储过程里添加事务,则可以保证该事务里的所 ...
- Mysql-自带的一些功能,基本用法(视图,触发器,事务,存储过程,函数,流程控制)
一. 视图 二. 触发器 三. 事务 四. 存储过程 五. 函数 六. 流程控制 一 .视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用 ...
- mysql视图、触发事务、存储过程
视图 视图是一个虚拟表(非真实存在的),其本质就是根据SQL语言获取动态的数据集,并为其命名,用户使用时只需要使用名称即可获得结果集,可以将结果集当做表来使用. 视图是存在数据库中的,如果我们程序中使 ...
- MySQL之视图、触发器、事务、存储过程、函数 流程控制
MySQL之视图.触发器.事务.存储过程.函数 阅读目录 一 视图 二 触发器 三 事务 四 存储过程 五 函数 六 流程控制 MySQL这个软件想将数据处理的所有事情,能够在mysql这个层面上全部 ...
- SQL Server 存储过程,带事务的存储过程(创建存储过程,删除存储过程,修改存储过
存储过程 创建存储过程 use pubs --pubs为数据库 go create procedure MyPRO --procedure为创建存储过程关键字,也可以简写proc,MyPRO为存储过程 ...
- MySQL<事务与存储过程>
事务与存储过程 事务管理 事务的概念 谓的事务就是针对数据库的一组操作,它可以由一条或多条SQL语句组成,同一个事务的操作具备同步的特点,即事务中的语句要么都执行,要么都不执行. 事务的使用 开启事务 ...
随机推荐
- 修改JSONArray里所有key的值
下面举一个代码的列子目的是实现如下功能: [{"userId":1,"userName":"plf"},{"userId" ...
- Django基础——Model篇(二)
一 Model连表关系 一对多:models.ForeignKey(其他表) 多对多:models.ManyToManyField(其他表) 一对一:models.OneToOneFiel ...
- Leetcode 119 Pascal's Triangle II 数论递推
杨辉三角,这次要输出第rowIndex行 用滚动数组t进行递推 t[(i+1)%2][j] = t[i%2][j] + t[i%2][j - 1]; class Solution { public: ...
- 从委托、匿名方法到Lambda
前面讲过委托的知识,本次由委托过渡到Lambda表达式,更易于理解. class Program { static void Main(string[] args) { , , , }; ProcAr ...
- AngularJS的date 过滤器
date 过滤器可以将日期格式化成需要的格式.AngularJS中内置了几种日期格式,如果没有指定使用任何格式,默认会采用 mediumDate 格式,下面的例子中展示了这个格式. ·下面是内置的支持 ...
- iOS crash 异常捕获
// // UncaughtExceptionHandler.m // UncaughtExceptions // // Created by Matt Gallagher on 2010/05 ...
- Revit自定义快递访问工具栏
Revit快速访问工具栏提供了了一些常用的绘图工具,Revit默认的快速访问工具栏在Revit界面标题栏最左边,我们可以对快速访问工具栏进行控制,比如添加删除绘图命令,让其显示在功能区下方,编辑分组, ...
- 【转】我应该直接学Swift还是Objective-C?
(本文作者Amit Bijlani,由CocoaChina翻译) 当我们发布了Swift语言学习课程之后,收到了很多邮件和私信来问自己是否还需要学习C或者Objective-C.此外,人们似乎还在迷惑 ...
- Linux下面使用rpm命令
RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序” rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种 ...
- Android Launcher分析和修改13——实现Launcher编辑模式(1) 壁纸更换
已经很久没更新Launcher系列文章,今天不分析源码,讲讲如何在Launcher里面添加桌面设置的功能.目前很多第三方Launcher或者定制Rom都有简单易用的桌面设置功能.例如小米MIUI的La ...