MSSQL中的SET语句及查询选项详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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_intvar }
指定当前会话与其他会话发生死锁时继续处理的相对重要性
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 标准的行为。