Неверный синтаксис рядом с «go» в SQL Server Management Studio - PullRequest
14 голосов
/ 12 октября 2011

Выполнение следующего SQL:

drop function f
go

в MS Sql Server Management Studio выдает ошибку синтаксического анализа:

Сообщение 102, Уровень 15, Состояние 1, Строка 1 Неверный синтаксис рядом с 'go'.

Почему?

Если я открою новую вкладку и скопирую / вставлю в нее SQL-код, она также не будет выполнена. Но если я открою новую вкладку и заново наберу SQL, он будет работать нормально.

Ответы [ 4 ]

28 голосов
/ 12 октября 2011

SQL Server Management Studio не может обрабатывать некоторые непечатаемые символы.

Проверьте символы новой строки, возможно, у вас стиль Linux (LF) или Mac (CR) вместо стиля Windows (CR и LF). Вы можете проверить с помощью любого расширенного текстового редактора, например Блокнот ++ ·

5 голосов
/ 12 октября 2011

Вы открыли файл в формате Mac с символами перевода строки ('\ r').

Анализатор SQL ведет себя непоследовательно на новых строках CR. Он поддерживает их для некоторых запросов, таких как «select 1 go», но не работает для других, например «drop function f go».

Преобразование всех ваших файлов sql в кодировку Windows.

0 голосов
/ 28 августа 2014

Вы должны удалить все «GO» из скрипта, и это решит проблему.

Проверьте это для получения дополнительной информации:

https://agilewebhosting.com/knowledgebase/63/SQL-Error-Incorrect-syntax-near-andsharp039GOandsharp039.html

Matrix

0 голосов
/ 16 октября 2012

Сильно страдает от этой проблемы. Наконец-то использовал Notepad ++.

Исправлено:

Формат> Преобразовать в UNIX

с последующим

Формат> Преобразовать в Windows

...