MSSQL视图使用详解
lect查询原理<转>
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 | <numeric-priority> | @deadlock_var | @deadlock_intvar }
<numeric-priority> ::= { -10 | -9 | -8 | ?| 0 | ?| 8 | 9 | 10 }
指定当前会话与其他会话发生死锁时继续处理的相对重要性
SET LOCK_TIMEOUT timeout_period
指定语句等待锁释放的毫秒数。
三、杂项语句
SET CONCAT_NULL_YIELDS_NULL { ON | OFF }
控制当NULL与字符串连接时,是否将NULL值视为空串值。
SET IDENTITY_INSERT [ databa_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 选项为 fal 时,修改会话的行为以覆盖新列的默认为空性。
SET ANSI_NULLS { ON | OFF }
指定当等于 (=) 和不等于 (<>) 比较运算符用于空值时它们符合 SQL-92 标准的行为。
SET ANSI_PADDING { ON | OFF }
针对小于定义的列大小的值以及 char、varchar、binary 和varbinary数据中有尾随空格的
值,此语句可以控制存储此类值的方式。
SET ANSI_WARNINGS { ON | OFF }
指定几种错误情况下的 SQL-92 标准行为。
六、统计语句
SET FORCEPLAN { ON | OFF }
将 Microsoft SQL Server 查询优化器设置为按照表出现在 SELECT 语句的 FROM 子句中的相同顺序来处理联接。
SET SHOWPLAN_ALL { ON | OFF }
使 Microsoft SQL Server 不执行 Transact-SQL 语句。SQL Server 返回有关语句执行情况的详细信息,并估计语句对资源的需求。
SET SHOWPLAN_TEXT { ON | OFF }
使 Microsoft SQL Server 不执行 Transact-SQL 语句。而是由 SQL Server 返回有关如何执行语句的详细信息。
SET SHOWPLAN_XML { ON | OFF }
使 SQL Server 不执行 Transact-SQL 语句。SQL Server 返回有关如何以定义好的 XML 文档格式执行上述语句的详细信息。SET SHOWPLAN_XML 的设置是在执行或运行时设置的,而不是在分析时设置的。
SET STATISTICS IO { ON | OFF }
word表格行高 使 SQL Server 显示有关由 Transact-SQL 语句生成的磁盘活动量的信息。
SET STATISTICS XML { ON | OFF }
使 Microsoft SQL Server 执行 Transact-SQL 语句,并以定义完善的 XML 文档格式生成有关语句执行情况的详细信息。
SET STATISTICS PROFILE { ON | OFF }
显示语句的配置文件信息。STATISTICS PROFILE 对即席查询、视图和存储过程有效。
SET STATISTICS TIME { ON | OFF }
显示分析、编译和执行各语句所需的毫秒数。
七、事务语句
SET IMPLICIT_TRANSACTIONS { ON | OFF }
将连接设置为隐式事务模式。如果设置为 ON,SET IMPLICIT_TRANSACTIONS 将连接设置为隐式事务模式。如果设置为 OFF,则使连接恢复为自动提交事务模式。
细的反义词SET REMOTE_PROC_TRANSACTIONS { ON | OFF }
指定当本地事务处于活动状态时,如果执行远程存储过程,将启动由 Microsoft 分布式事务处理协调器 (MS DTC) 管理的 Transact-SQL 分布式事务。