Настройка состояния NOCOUNT с локальной переменной
Я пытаюсь сохранить статус 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 дает указанную выше ошибку.
- Как запретить другим приложениям подключаться к SQL Server?
- Почему я не могу подключиться к общему экземпляру SQL Server 2012 LocalDB?
- Не удается подключить образец базы данных в SQL Server 2012
- Вставьте 2 значения из двух разных таблиц в одну таблицу
- Как просмотреть запрос, который использовался для создания таблицы?
- Создать отфильтрованный индекс, не работающий в SQL Server 2012 Express
- Как получить значения за все месяцы в T-SQL
- Имея базовую проблему SQL с использованием Microsoft SQL Server 2012
- Скрытие баз данных для входа в Microsoft Sql Server 2008R2 и выше
- Не удалось подключиться к SQL Server в Hydro GeoAnalyst
- как вставить значение в таблицу типов данных изображения
- Поиск SQL Query Date с использованием Между
- Ошибка «Недопустимое имя столбца» при вызове вставки после создания таблицы
Вы не можете использовать переменную для установки NOCOUNT
:
/* line 23 */ SET NOCOUNT @NCStat ; /* not legal syntax */
Я бы сделал это вместо этого:
/* line 23 */ if @NCStat = 1 SET NOCOUNT ON else SET NOCOUNT OFF