我试图存储NOCOUNT状态,以便可以在过程结束时将其返回到其原始状态,但它所做的只是给我一个Incorrect syntax near '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如果删除了第23行,则所有其他行都可以正常工作,但第23行给出了上述错误。
发布于 2013-03-18 07:56:40
不能使用变量设置NOCOUNT
/* line 23 */ SET NOCOUNT @NCStat ; /* not legal syntax */我会这样做:
/* line 23 */
if @NCStat = 1
SET NOCOUNT ON
else
SET NOCOUNT OFFhttps://stackoverflow.com/questions/15467573
复制相似问题