Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用局部变量设置NOCOUNT状态_Sql_Sql Server_Tsql_Sql Server 2012 Express - Fatal编程技术网

Sql 使用局部变量设置NOCOUNT状态

Sql 使用局部变量设置NOCOUNT状态,sql,sql-server,tsql,sql-server-2012-express,Sql,Sql Server,Tsql,Sql Server 2012 Express,我试图存储NOCOUNT状态,以便在过程结束时将其返回到原始状态,但它所做的只是在“NOCOUNT”附近给我一个错误语法。错误 我做错了什么 IF @@OPTIONS & 512 <> 0 /* check original state of NOCOUNT */ PRINT N'This user has SET NOCOUNT turned ON.'; ELSE PRINT N'This user has SET NOCOUNT tur

我试图存储NOCOUNT状态,以便在过程结束时将其返回到原始状态,但它所做的只是在“NOCOUNT”附近给我一个
错误语法。
错误

我做错了什么

IF @@OPTIONS & 512 <> 0     /* check original state of NOCOUNT */
      PRINT N'This user has SET NOCOUNT turned ON.';
  ELSE
      PRINT N'This user has SET NOCOUNT turned OFF.';

DECLARE @NCStat bit
    SET @NCStat = ( @@OPTIONS & 512 )   /* sets @NCStat to original state of NOCOUNT */

SET NOCOUNT ON ;

IF @@OPTIONS & 512 <> 0     /* verify state of NOCOUNT */
      PRINT N'This user has SET NOCOUNT turned ON.';
  ELSE
      PRINT N'This user has SET NOCOUNT turned OFF.';

PRINT N'NCStat = ' + cast(@NCStat as nvarchar) ;        /* verify value of @NCStat */

/* line 23 */  SET NOCOUNT  @NCStat ;       /* return NOCOUNT to original state */

IF @@OPTIONS & 512 <> 0     /* verify state of NOCOUNT */
      PRINT N'This user has SET NOCOUNT turned ON.';
  ELSE
      PRINT N'This user has SET NOCOUNT turned OFF.';
GO
IF@@OPTIONS&512 0/*检查NOCOUNT的原始状态*/
打印“此用户已将NOCOUNT设置为打开状态”;
其他的
打印“此用户已将NOCOUNT设置为关闭状态”;
声明@NCStat位
设置@NCStat=(@@OPTIONS&512)/*将@NCStat设置为NOCOUNT的原始状态*/
不计数;
IF@@OPTIONS&512 0/*验证NOCOUNT的状态*/
打印“此用户已将NOCOUNT设置为打开状态”;
其他的
打印“此用户已将NOCOUNT设置为关闭状态”;
打印N'NCStat='+cast(@NCStat作为nvarchar);/*验证@NCStat的值*/
/*第23行*/SET NOCOUNT@NCStat;/*将NOCOUNT返回到原始状态*/
IF@@OPTIONS&512 0/*验证NOCOUNT的状态*/
打印“此用户已将NOCOUNT设置为打开状态”;
其他的
打印“此用户已将NOCOUNT设置为关闭状态”;
去

如果第23行被注释掉,则所有其他行都可以正常工作,但第23行给出了上述错误。

您不能使用变量设置
NOCOUNT

/* line 23 */  SET NOCOUNT  @NCStat ; /* not legal syntax */
我会这样做:

/* line 23 */
if @NCStat = 1
    SET NOCOUNT ON
else
    SET NOCOUNT OFF

太好了,太简单了!非常感谢你!