- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
事务和锁;事务处理必须满足ACID原则:
原子性(Atomicity):事务必须作为一个最小工作单位
一致性(Consistency):事务完成后,所有的数据必须保持其合法性,即所有数据必须遵守数据库的约束和规则
隔离性(Iso1ation):一个事务所有的修改必须与其事务所作的修改隔离
持久性(Durability):事务执行完成后,其对数据库的修改将永久保持;SQL Server 以下列事务模式运行;Transact-SQL语句和事务处理
事务是一种机制,是一个操作序列,它包含了一组数据库操作命令,即由一系列T-SQL语句组成。SQL Server的事务可分为两类:系统提供的事务和用户定义的事务。
系统提供的事务是指在执行某些T-SQL语句时,一条语句就构成了一个事务,这些语句是:
1.ALTER TABLE
2.CREATE
3.DELETE
4.DROP
5.REVOKE ;例如执行创建表的语句:
Create table users
(
id int not null,
username varchar(20),
password varchar(20)
)
这条语句本身就构成了一个事务,它要么建立起含3列的表结构,要么对数据库没有任何影响。
;在实际应用中,经常使用的是用户自定义的事务。事务的定义方法是:
用BEGIN TRAN[SACTION] 命令来标识一个事务的开始,用COMMIT TRAN[SACTION]或ROLLBACK TRAN[SACTION]命令来标识事务的结束。这两个命令之间的所有语句被视为一体,只有执行到 COMMIT TRAN[SACTION] 命令时,事务中对数据库的更新操作才算确认。;1. BEGIN TRANSACTION语句
BEGIN TRANSACTION语句定义事务的开始,其语法格式为:
BEGIN TRAN[SACTION] [transaction_name | @tran_name_variable][WITH MARK[‘description’] ]
注意:BEGIN TRANSACTION语句的执行使全局变量@@TRANCOUNT的值加1。
其中参数:
transaction_name指定事务的名称。
@tran_name_variable表示用户定义的、含有效事务名称的变量。变量只能声明为 CHAR、VARCHAR、NCHAR 或NVARCHAR 类型。
WITH MARK指定在日志中标记事务,
description是描述该标记的字符串。;2. COMMIT TRANSACTION语句
COMMIT语句标志一个事务的结束,同时也是提交语句,其语法格式为:
COMMIT [ TRAN[SACTION] [transaction_name | @tran_name_variable] ]
其中参数:
COMMIT TRANSACTION语句的执行使全局变量@@TRANCOUNT的值减1。;标志一个事务的结束也可以使用COMMIT WORK语句,其语法格式为:
COMMIT [WORK]
它与COMMIT TRANSACTION语句的差别在于COMMIT WORK语句不带参数。;【例】定义一个事务,删除stuinfo数据库的student表中的一行数据。
BEGIN TRAN
USE stuinfo
DELETE FROM student
WHERE username=’Bill’
IF exists(SELECT * FROM sc ,deleted d WHERE sc.sno = d.sno)
Begin
ROLLBACK TRANSACTION
Print ‘有选课记录,不能删除!’
Return
end
COMMIT TRAN
GO;并发事务可能造成的问题;一、丢失更新(lost update)
如图给出了两个事务T1和T2恰好都执行修改同一数据的过程。;二、 读脏数据(Dirty Read)
如图给出了两个事务T1和T2的执行过程。;三、 不可重复读(Non―Repeatable Read)
如图中: ;不可重复读?不可重复读是指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。
不可重复读包括三种情况:?
事务T1读取某一数据后,事务T2对其做了修改,当事务1再次读该数据时,得到与前一次不同的值。
事务T1按一定条件从数据库中读取了某些数据记录后,事务T2删除了其中部分记录,当T1再次按相同条件读取数据时,发现某些记录神密地消失了。
事务T1按一定条件从数据库中读取某些数据
您可能关注的文档
- 市场调查问卷设计管理.pptx
- 手机卖场营销经理培训.pptx
- 12月中医妇科学痛经.pptx
- 存货补充内容.pptx
- 外国出版业的经营管理.pptx
- 我国地形的主要特征.pptx
- 南开大学版个体心理与管理补充.pptx
- ppt太阳病变证痞证上热下寒证火逆证.pptx
- 亚太区hp感染的处理共识.pptx
- 感染性腹泻讲诉.pptx
- 第12课-在马克思墓前的讲话备作业-精品2020-2021学年系列人教版必修2.docx
- 第10章复习小结课件人教版七年级数学下册.pptx
- 第10讲指数原卷版.docx
- 第10讲函数的奇偶性与周期性2.pptx
- 第12讲气体摩尔体积学生版-2022-2023学年高一化学精品讲义人教2019必修第一册.docx
- 第6单元第6课时练习十三.ppt
- 第二十四课当世界年纪还小的时候第一课时.pptx
- 第20辑如何打开闭塞的思路环境就是民生-2022年高考语文作文备考之名师说法猜题指导.docx
- 2026马年元旦年会PPT简约模板喜庆主题 (12).pptx
- 2026马年元旦年会PPT简约模板喜庆主题 (7).pptx
最近下载
- 最新国家开放大学电大《公共关系学》机考第二套真题题库及答案.docx VIP
- 2025年广西公需科目第二套答案.docx VIP
- 基于在线评论的用户需求识别及共现分析——以新能源汽车为例.pdf VIP
- PDC钻头工作原理及相关特点.pptx VIP
- 2022-2023学年重庆八中七年级(下)期末数学试卷 (1).doc VIP
- GB50707-2011 河道整治设计规范.docx VIP
- 部编版小学四年级语文上册期末素质试题(含答案).doc VIP
- 2025年清廉学校建设开展情况汇报.docx VIP
- 公共卫生执业医师药理学试题(附答案).docx VIP
- 历久弥新的领导力洞察:BCG《每周简报》五周年特辑.pdf
原创力文档


文档评论(0)