第9章事务处理(论文资料).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章.事务处理 9.1 引言 9.2 Transact-SQL语句和事务处理 9.3 锁定 9.1 引言 事务(Transaction)与锁定(Lock)可以确保数据在存储或修改过程中受到其他用户的中断时,能够正确地被存储、修改,而不会造成数据因被存储或修改到一半而导致数据不完整。 事务是SQL Server中的执行单元,它由一系列T-SQL语句组成。事务处理必须满足ACID原则。ACID指原子性(Atomicity)、一致性(Consistency)、隔离性(Iso1ation)与持久性(Durability)。 事务的这种机制保证了一个事务或者提交后成功执行,或者提交后失败滚回。也就是说,执行事务的结果或是将数据所要执行的操作全部完成,或是全部数据一点也不修改。 返回目录 9.2 Transact-SQL语句和事务处理 事务是一种机制,是一个操作序列,它包含了一组数据库操作命令,即由一系列T-SQL语句组成。SQL Server的事务可分为两类::系统提供的事务和用户定义的事务。 系统提供的事务是指在执行某些T-SQL语句时,一条语句就构成了一个事务,这些语句是: 1.ALTER TABLE 2.CREATE 3.DELETE 4.DROP 5.REVOKE 6.SELECT 7.TRUNCATE TABLE 8.INSERT 8.OPEN 9.UPDATE 11.GRANT 12.FETCH 返回目录 9.2 Transact-SQL语句和事务处理 例如执行创建表的语句: Create table users ( id int not null, username varchar(20), password varchar(20) ) 这条语句本身就构成了一个事务,它要么建立起含3列的表结构,要么对数据库没有任何影响。 在实际应用中,经常使用的是用户自定义的事务。事务的定义方法是:用BEGIN TRANSACTION 命令来标识一个事务的开始,用COMMIT TRANSACTION或ROLLBACK TRANSACTION命令来标识事务的结束。这两个命令之间的所有语句被视为一体,只有执行到 COMMIT TRANSACTION 命令时,事务中对数据库的更新操作才算确认。 返回目录 1. BEGIN TRANSACTION语句 BEGIN TRANSACTION语句定义事务的开始,其语法格式为: BEGIN TRAN[SACTION] [transaction_name | @tran_name_variable [WITH MARK[‘description’]] 其中,参数transaction_name指定事务的名称,必须遵循标识符规则,字符数不超过32 个字符。@tran_name_variable表示用户定义的、含有效事务名称的变量。变量只能声明为 CHAR、VARCHAR、NCHAR 或NVARCHAR 类型。WITH MARK指定在日志中标记事务,description是描述该标记的字符串。 BEGIN TRANSACTION语句的执行使全局变量@@TRANCOUNT的值加1。(@@TRANCOUNT是用来计算当前连接中现有事务的数目。) 返回目录 【9.1】定义一个事务,删除demo数据库的users表中的一行数据。 ? BEGIN TRAN USE demo DELETE FORM users WHERE username=’chen’ COMMIT TRAN GO 返回目录 9.3 锁定 SQL Server 2000通过锁定(Lock)来确保事务完整性和数据库一致性。锁定可以防止丢失更新、读取尚未认可的数据、不可重复读和幻象读取(Phantom read)。 9.3.1 锁定的概念 锁定(Lock)是在多用户环境下对资源访问的一种限制机制,当对一个数据源加锁后,此数据源就有了一定的访问限制,就称对此数据源进行了锁定。在 SQL Server中,可以对以下的对象进行锁定:数据行(Row),索引行(Key),页(Page),盘区(Extent),表(Table),数据库(Database)。 在SQL Server 2000中,拥有多个数据点的锁定,来允许事务锁定不同类型的资源。为了把锁定的成本降至最低,SQL Server自动

文档评论(0)

juhui05 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档