MSSQL中的SET语句及查询选项详解

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MSSQL视图使用详解

select查询原理<转>

MSSQL中的SET语句及查询选项详解

2009-08-13 14:06:45| 分类:Sql经典语句| 标签:|字号大中小订阅

常用的一些SET语句

SET TEXTSIZE 设置SELECT语句返回列最大值。

SET ROWCOUNT 设置返回记录的总数

SET NOCOUNT 设置是否返回记录

SET IDENTITY_INSERT 开启自增列录入选项

SET CONCAT_NULL_YIELDS_NULL 设置NULL在运算时是否按空处理

SET LOCK_TIMEOUT timeout 指定语句等待锁释放的毫秒数

一、日期和时间语句

SET DATEFIRST

将一周的第一天设置为从1 到7 的一个数字。可以使用@@DATEFIRST 函数查看SET DATEFIRST 的当前设置。

SET DATEFORMAT { format | @format_var }

该设置仅用在将字符串转换为日期值时的解释中。它不影响日期值的显示。SET DATEFORMAT 的设置是在执行或运行时设置,而不是在分析时设置。SET DATEFORMAT 将覆盖SET LANGUAGE 的隐式日期格式设置。

二、锁定语句

SET DEADLOCK_PRIORITY { LOW | NORMAL | HIGH | | @deadlock_var |

@deadlock_intvar }

::= { -10 | -9 | -8 | ?| 0 | ?| 8 | 9 | 10 }

指定当前会话与其他会话发生死锁时继续处理的相对重要性

SET LOCK_TIMEOUT timeout_period

指定语句等待锁释放的毫秒数。

三、杂项语句

SET CONCAT_NULL_YIELDS_NULL { ON | OFF }

控制当NULL与字符串连接时,是否将NULL值视为空串值。

SET IDENTITY_INSERT [ database_name . [ schema_name ] . ] table { ON | OFF }

任何时候,一个会话中只有一个表的IDENTITY_INSERT 属性可以设置为ON。如果某个表已将此属性设置为ON,则对另一个表发出SET IDENTITY_INSERT ON 语句时,SQL Server 2005 将返回一个错误信息,指出SET IDENTITY_INSERT 已设置为ON,并报告已将其属性设置为ON 的表。

如果插入值大于表的当前标识值,则SQL Server 自动将新插入值作为当前标识值使用。

SET IDENTITY_INSERT 的设置是在执行或运行时设置的,而不是在分析时设置的。

SET LANGUAGE { [ N ] 'language' | @language_var }

SET LANGUAGE 的设置是在执行或运行时设置,而不是在分析时设置。

SET QUOTED_IDENTIFIER { ON | OFF }

当SET QUOTED_IDENTIFIER 为ON 时,标识符可以由双引号分隔,而文字必须由单引号分隔。当SET QUOTED_IDENTIFIER 为OFF 时,标识符不可加引号,且必须符合所有Transact-SQL 标识符规则

四、查询执行语句

SET ARITHABORT { ON | OFF }

在查询执行过程中发生溢出或被零除错误时,终止查询。如果SET ARITHABORT 为ON,并且SET ANSI WARNINGS 也为ON,则这些错误情况将导致查询终止。如果SET ARITHABORT 为ON,但SET ANSI WARNINGS 为OFF,则这些错误情况将导致批处理终止。如果在事务内发生错误,则回滚事务。如果SET ARITHABORT 为OFF 并且发生了这些错误之一,则显示一条警告消息,并将NULL 赋予算术运算的结果。

SET ARITHIGNORE { ON | OFF }

控制在查询执行过程中,是否返回溢出或被零除错误的错误消息。

SET ARITHIGNORE 设置只控制是否返回错误消息。SQL Server 2005 在计算中出现溢出或被零除错误时将返回NULL,不考虑此设置。可以使用SET ARITHABORT 设置来确定是否终止查询。此设置不影响INSERT、UPDATE 和DELETE 语句执行过程中发生的错误。

SET FMTONLY { ON | OFF }

只将元数据返回给客户端。

SET NOCOUNT { ON | OFF }

是否返回Transact-SQL 语句影响的行数的消息。

当SET NOCOUNT 为ON 时,不返回计数(表示受Transact-SQL 语句影响的行数)。当SET NOCOUNT 为OFF 时,返回计数。

SET NOEXEC { ON | OFF }

编译每个查询但不执行查询。

SET NUMERIC_ROUNDABORT { ON | OFF }

指定当表达式中的舍入导致精度损失时生成的错误报告级别。

SET PARSEONLY { ON | OFF }

检查每个Transact-SQL 语句的语法并返回任何错误消息,但不编译和执行语句。

SET ROWCOUNT { number | @number_var }

SQL Server 在返回指定的行数之后停止处理查询。

SET TEXTSIZE { number }

指定由SELECT 语句返回的varchar(max)、nvarchar(max)、varbinary(max)、text、ntext和image 数据的大小。

五、SQL-92 设置语句

SET ANSI_DEFAULTS { ON | OFF }

控制一组可共同指定某些SQL-92 标准行为的SQL Server 2005 设置

SET ANSI_NULL_DFLT_OFF { ON | OFF }

数据库的ANSI null default 选项为true 时,更改会话行为以覆盖新列的默认为空性。

SET ANSI_NULL_DFLT_ON {ON | OFF}

当数据库的ANSI null default 选项为false 时,修改会话的行为以覆盖新列的默认为空性。

SET ANSI_NULLS { ON | OFF }

指定当等于(=) 和不等于(<>) 比较运算符用于空值时它们符合SQL-92 标准的行为。

相关文档
最新文档