Подтвердить что ты не робот

Неправильный синтаксис рядом с 'go' в SQL Server Management Studio

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

drop function f
go

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

Msg 102, уровень 15, состояние 1, строка 1 Неправильный синтаксис около 'go'.

Почему?

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

4b9b3361

Ответ 1

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

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

Ответ 2

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

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

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

Ответ 3

Тяжело страдала эта проблема. Наконец, используется Notepad ++.

Исправлено:

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

за которым следует

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