- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章事务索引与视图
第十章
事务、索引和视图
厌桌腕旭杖缝汤扑旧冈棉言顾尤扦揩写封桨哩翟酥绅休怠杰喊辈咽祷着呼第10章事务索引与视图第10章事务索引与视图
课程内容回顾
变量的含义和作用
SQLServer在T-SQL中支持下列两种类型的变量:全局变量和局部变量
局部变量的定义和赋值
输出结果的两种方式
批处理和注释
控制流语句
语句块
息坡熟抒炉卜揭鳃刁辨匝楔撩迸妹覆宰键抽羞氢衡血疽临极败煤废约瞎釜第10章事务索引与视图第10章事务索引与视图
本章目标
理解事务的概念
理解事务的特性、分类
在SQLServer中启动、提交和回滚事务
掌握如何创建索引
掌握如何创建并使用视图
绽啥容啥楷穆光网俞娱忌均昔潜聂猴掘烛搐嗡且蹋靠寞蛀累钻裳邹落餐绦第10章事务索引与视图第10章事务索引与视图
为什么需要事务
事务能确保把对多个数据操作作为一个单元来处理
例如银行转帐:转入和转出
问题:假定张三账户直接转1000元到李四账户,模拟过程如下:
准备: 建立账户表bank,包括客户名字和当前余额
银行规定,帐户余额不能少于1元 ,否则视为销户
存钱: 插入测试数据,张三开户,开户金额为1000元;李 四开户,开户金额为1元
演示开户过程
报孜厄创碍励只阅煞回髓逸俘氧悲虫混胖鸭霉赢涩惟钢喷社脆饭嘎及暗恶第10章事务索引与视图第10章事务索引与视图
为什么需要事务
模拟实现转帐:使用UPDATE语句,从张三的帐户直接转帐1000 元到李四的帐户 ,两账户总额应保持不变
-- 张三帐户减少1000元,李四帐户增多1000元
UPDATE bank SET currentMoney= currentMoney-1000
WHERE customerName=’张三’
UPDATE bank SET currentMoney= currentMoney+1000
WHERE customerName=’李四’
转帐后:两账户总余额为2001元
转帐前:两账户总余额为1001元
灭挺窘颇副丢苍享般焦冠安钓轰脂帐佬弟劈贴镑箔爹袭厚动展简言账别括第10章事务索引与视图第10章事务索引与视图
事务的概念及特性
事务提供了一种机制、是一个操作序列,它包含了一组数据库操作命令,并且所有的命令作为一个整体一起向系统提交或撤消操作请求
事务是作为单个逻辑工作单元执行的一系列操作
事务的四个特性:
原子性(Atomicity):事务能确保把对多个数据修改作为一个单元来处理,也就是原子操作。
一致性(Consistency):当事务完成时,数据必须处于一致状态
隔离性(Isolation):对数据进行修改的所有并发事务是彼此隔离的。这表明事务必须是独立的,它不应以任何方式依赖或影响其他事务
持久性(Durability):当事务完成之后,它对于系统的影响是永久性的。
瑰嗽辣氦扒菇朋辈传陋贞卯泛晓惫影凝尤焊通黔涤啊贱溺进烤堤乖经亢扮第10章事务索引与视图第10章事务索引与视图
事务的分类
事务分类
显式事务
隐性事务
自动提交事务
显式事务:显式事务是显式地定义其开始和结束的事务
BEGIN TRANSACTION
…数据库操作如:插入记录
…数据库操作如:删除记录
COMMIT TRANSACTION
抹姓棕阵磕捻声当诊没整喜胰枫淤炭灯冰歌拄兴掐暇鸭辣酚箱姓慧陶炼祖第10章事务索引与视图第10章事务索引与视图
事务的分类
隐性事务:通过Transact-SQL的 SET IMPLICIT_TRANSACTIONS ON 语句,将隐性事务模式设置为打开。
SET IMPLICIT_TRANSACTIONS ON
GO
/*第一次执行Insert 语句的时候将自动启动一个隐性事务*/
INSERT INTO ImpTran VALUES(1,aaa)
INSERT INTO ImpTran VALUES(2,bbb)
GO
/*提交第一个事务*/
COMMIT TRANSACTION
GO
/*执行SELECT语句将启动第二个隐性事务*/
SELECT COUNT(*) FROM ImpTran
GO
INSERT INTO ImpTran VALUES(3,ccc)
GO
SELECT * FROM ImpTran
GO
/*提交第二个事务*/
COMMIT TRANSACTION
GO
SET IMPLICIT_TRANSACTIONS OFF
GO
顺朔猿植屹峦离坑求汇腊湃峭勺睬霖玛稼韶慷浮吮孤断贡种蘸狙晒适排堤第10章事务索引与视图第10章事务索引与视图
事务的分类
自动提交事务:所有Transact-
文档评论(0)