|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。SETXACT_ABORT
指定当Transact-SQL语句发生运转时毛病时,Microsoft®SQLServer™是不是主动回滚以后事件。
语法
SETXACT_ABORT{ON|OFF}
正文
当SETXACT_ABORT为ON时,假如Transact-SQL语句发生运转时毛病,全部事件将停止并回滚。为OFF时,只回滚发生毛病的Transact-SQL语句,而事件将持续举行处置。编译毛病(如语法毛病)不受SETXACT_ABORT的影响。
关于年夜多半OLEDB供应程序(包含SQLServer),隐性或显式事件中的数据修正语句必需将XACT_ABORT设置为ON。独一不必要该选项的情形是供应程序撑持嵌套事件时。有关更多信息,请拜见散布式查询和散布式事件。
SETXACT_ABORT的设置是在实行或运转时设置,而不是在剖析时设置。
示例
下例招致在含有别的Transact-SQL语句的事件中产生违背外键毛病。在第一个语句会合发生毛病,但别的语句均乐成实行且事件乐成提交。在第二个语句会合,SETXACT_ABORT设置为ON。这招致语句毛病使批处置停止,并使事件回滚。
CREATETABLEt1(aintPRIMARYKEY)CREATETABLEt2(aintREFERENCESt1(a))GOINSERTINTOt1VALUES(1)INSERTINTOt1VALUES(3)INSERTINTOt1VALUES(4)INSERTINTOt1VALUES(6)GOSETXACT_ABORTOFFGOBEGINTRANINSERTINTOt2VALUES(1)INSERTINTOt2VALUES(2)/*Foreignkeyerror*/INSERTINTOt2VALUES(3)COMMITTRANGOSETXACT_ABORTONGOBEGINTRANINSERTINTOt2VALUES(4)INSERTINTOt2VALUES(5)/*Foreignkeyerror*/INSERTINTOt2VALUES(6)COMMITTRANGO/*Selectshowsonlykeys1and3added.Key2insertfailedandwasrolledback,butXACT_ABORTwasOFFandrestoftransactionsucceeded.Key5inserterrorwithXACT_ABORTONcausedallofthesecondtransactiontorollback.*/SELECT*FROMt2GODROPTABLEt2DROPTABLEt1GO
如果WHERE子句的查询条件里使用比较操作符LIKE和REGEXP,MySQL只有在搜索模板的第一个字符不是通配符的情况下才能使用索引。比如说,如果查询条件是LIKEabc%‘,MySQL将使用索引;如果查询条件是LIKE%abc’,MySQL将不使用索引。 |
|