转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> Sql Server >> 正文
使用 SQL Server 时需要经常用到的几个设置选项!         

使用 SQL Server 时需要经常用到的几个设置选项!

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2226 更新时间:2007/11/14 12:56:42
ECT count(*) AS Cnt
   FROM titles
   WHERE advance >= 5000
   GO

   下面是结果集:

   Cnt      
   -----------
   11         

   (1 row(s) affected)

   现在,将 ROWCOUNT 设置为 4,并更新预付款等于或大于 $5,000 的所有行。

   -- SET ROWCOUNT to 4.
   SET ROWCOUNT 4
   GO
   UPDATE titles
   SET advance = 5000
   WHERE advance >= 5000
   GO

 

9. SET TRANSACTION ISOLATION LEVEL
说明:控制由连接发出的所有 Microsoft® SQL Server™ SELECT 语句的默认事务锁定行为。

语法:SET TRANSACTION ISOLATION LEVEL
   { READ COMMITTED
       | READ UNCOMMITTED
       | REPEATABLE READ
       | SERIALIZABLE
   }

参数:READ COMMITTED 指定在读取数据时控制共享锁以避免脏读,但数据可在事务结束前更改,从而产生不可重复读取或幻像数据。该选项是 SQL Server 的默认值。
   READ UNCOMMITTED 执行脏读或 0 级隔离锁定,这表示不发出共享锁,也不接受排它锁。当设置该选项时,可以对数据执行未提交读或脏读;在事务结束前可以更改数据内的数值,行也可以出现在数据集中或从数据集消失。该选项的作用与在事务内所有语句中的所有表上设置 NOLOCK 相同。这是四个隔离级别中限制最小的级别。
   REPEATABLE READ 锁定查询中使用的所有数据以防止其他用户更新数据,但是其他用户可以将新的幻像行插入数据集,且幻像行包括在当前事务的后续读取中。因为并发低于默认隔离级别,所以应只在必要时才使用该选项。
   SERIALIZABLE 在数据集上放置一个范围锁,以防止其他用户在事务完成之前更新数据集或将行插入数据集内。这是四个隔离级别中限制最大的级别。因为并发级别较低,所以应只在必要时才使用该选项。该选项的作用与在事务内所有 SELECT 语句中的所有表上设置 HOLDLOCK 相同。

注释:一次只能设置这些选项中的一个,而且设置的选项将一直对那个连接保持有效,直到显式更改该选项为止。这是默认行为,除非在语句的 FROM 子句中在表级上指定优化选项。
   SET TRANSACTION ISOLATION LEVEL 的设置是在执行或运行时设置,而不是在分析时设置。

示例:下例为会话设置 TRANSACTION ISOLATION LEVEL。对于每个后续 Transact-SQL 语句,SQL Server 将所有共享锁一直控制到事务结束为止。

   SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
   GO
   BEGIN TRANSACTION
   SELECT * FROM publishers
   SELECT * FROM authors
   ...
   COMMIT TRANSACTION

 

10. SET XACT_ABORT

说明:指定当 Transact-SQL 语句产生运行时错误时,Microsoft® SQL Server™ 是否自动回滚当前事务。

语法:SET XACT_ABORT { ON | OFF }

注释:当 SET XACT_ABORT 为 ON 时,如果 Transact-SQL 语句产生运行时错误,整个事务将终止并回滚。为 OFF 时,只回滚产生错误的 Transact-SQL 语句,而事务将继续进行处理。编译错误(如语法错误)不受 SET XACT_ABORT 的影响。
   对于大多数 OLE DB 提供程序(包括 SQL Server),隐性或显式事务中的数据修改语句必须将 XACT_ABORT 设置为 ON。唯一不需要该选项的情况是提供程序支持嵌套事务时。有关更多信息,请参见分布式查询和分布式事务。
   SET XACT_ABORT 的设置是在执行或运行时设置,而不是在分析时设置。

示例:下例导致在含有其它 Transact-SQL 语句的事务中发生违反外键错误。在第一个语句集中产生错误,但其它语句均成功执行且事务成功提交。在第二个语句集中,SET XACT_ABORT 设置为 ON。这导致语句错误使批处理终止,并使事务回滚。

   CREATE TABLE t1 (a int PRIMARY KEY)
   CREATE TABLE t2 (a int REFERENCES t1(a))
   GO
   INSERT INTO t1 VALUES (1)
   INSERT INTO t1 VALUES (3)
   INSERT INTO t1 VALUES (4)
   INSERT INTO t1 VALUES (6)
   GO
   SET XACT_ABORT OFF
   GO
   BEGIN TRAN
   INSERT INTO t2 VALUES (1)
   INSERT INTO t2 VALUES (2) /* Foreign key error */
   INSERT INTO t2 VALUES (3)
   COMMIT TRAN
   GO

   SET XACT_ABORT ON
   GO

   BEGIN TRAN
   INSERT INTO t2 VALUES (4)
   INSERT INTO t2 VALUES (5) /* Foreign key error */
   INSERT INTO t2 VALUES (6)
   COMMIT TRAN
   GO

   /* Select shows only keys 1 and 3 added.
      Key 2 insert failed and was rolled back, but
      XACT_ABORT was OFF and rest of transaction
      succeeded.
      Key 5 insert error with XACT_ABORT ON caused
      all of the second transaction to roll back. */

   SELECT *
   FROM t2
   GO

   DROP TABLE t2
   DROP TABLE t1
   GO

上一页  [1] [2] 


[Access]sql随机抽取记录  [C语言系列]使用C#实现ADSL自动拨号
[Access]ASP&SQL让select查询结果随机排序的实现方法  [Web开发]狂人采集器规则使用详解
[电脑技术]windows7快捷键使用大全  [办公软件]PowerPoint模板使用经验之谈
[办公软件]如何在PowerPoint中使用(插入)Media Player控件播…  [办公软件]如何在PowerPoint中使用(插入、创建)书签及书签的…
[办公软件]如何在PowerPoint中插入(使用)条形码  [办公软件]如何在PowerPoint中制作模板并使用模板
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台