Есть ли способ использовать блочные комментарии после GO в SQL? - PullRequest
3 голосов
/ 10 января 2012

У меня есть автоматически сгенерированный сценарий SQL с этой базовой структурой:

/*
*/
PRINT 'Stuff'
GO
/*
*/
PRINT 'Other stuff'

Проблема в том, что SQL Server, похоже, не нравится блочные комментарии, когда они помещаются после GO.Есть ошибка для этого на Connect (установлено не исправлять, вздох), и парень по имени Деви опубликовал некоторые обходные пути , но они действительно не работают для меня, потому чтоМой сценарий генерируется автоматически.

Я могу вставить что-то после , GO и до комментария второго блока.Однако я пробовал разные вещи, не меняя неудачный результат, который, между прочим, является этим полезным текстом:

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

Могу ли я вставить что-нибудь между GO и комментарием, чтобы избежать этой ошибки?

1 Ответ

4 голосов
/ 10 января 2012

Ваша проблема, кажется, имеет другую природу, и две вещи указывают на это.

  1. Связанная страница Connect содержит около /* ... */ комментария после GO вта же строка с ним, но в вашем случае комментарий начинается с в строке, следующей за GO.

  2. Проблема, на которую вы ссылаетесь, вызываетэто сообщение об ошибке:

    A fatal scripting error occurred.
    Incorrect syntax was encountered while parsing GO.
    

    Но у вас все по-другому:

    Msg 102, Level 15, State 1, Line 1
    Incorrect syntax near ''.
    

Я собираюсь догадаться здесь (но я надеюсь, что это необоснованно), что вашгенератор сценариев использует разрывы строк в стиле Mac (0x0D) вместо разрывов в стиле Windows (0x0D0A).Я смог почти воспроизвести проблему, используя разрывы строк в Mac, но в моем случае ошибка немного отличалась от вашей:

Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'GO'.

Тем не менее мне кажется достаточно близким, чтобы предложить вам проверить, какого родаразрывов строк, которые использует ваш генератор скриптов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...