В SSMS при редактировании хранимой процедуры, как добиться совпадения номеров строк и ошибок?

Ужасно сформулированный вопрос выше (стараюсь быть кратким). Давайте попробуем это снова:

В Microsoft SQL Server Management Studio, когда вы редактируете SP и выполняете sp в том же окне, ошибки отображаются в нижней части экрана, вы можете дважды щелкнуть, чтобы выделить код, вызывающий ошибку. Однако это никогда не совпадает, обычно от 6 до 13 строк от фактической ошибки, обычно ниже. Он будет выделять такие вещи, как комментарии и т. д.

Кто-нибудь знает, как заставить их выровняться? Что представляет собой строка в T-SQL?

Я пробовал все обычные вещи, такие как размещение комментариев в строке (без эффекта), удаление комментариев перед строкой процедуры изменения (без эффекта), удаление всего кода перед строкой процедуры изменения, например SET ANSI_NULLS ON и т. д. (без эффекта). Странный.


person Zachary Scott    schedule 21.07.2009    source источник


Ответы (1)


Строка 1 для ошибок = первая строка - это sys.sql_modules, которая может быть "ALTER PROCEDURE", но может быть и пустой строкой. для пакетов все по-другому, но вопрос в хранимых процессах.

Строка 1 для VS и SSMS = 1-я строка в окне

Таким образом, SET выше + любые пустые строки вызывают разницу.

Решение: удалите все выше «ALTER PROC», чтобы это была строка 1.

person gbn    schedule 21.07.2009
comment
Я сделал. И не соглашается почему-то. Ошибка говорит, что она находится в строке 77, она выделяет строку 90 после двойного щелчка по ошибке, но фактическая ошибка находится в строке 80. Странно. - person Zachary Scott; 21.07.2009
comment
хм. Я предполагаю ошибки при изменении времени? я не могу воспроизвести в моем SSMS 2005 SP2. - person gbn; 21.07.2009