#tsql #sql-server-2014 #debug-mode
#tsql #sql-server-2014 #режим отладки
Вопрос:
У меня есть большой скрипт, который мне нужно отладить, чтобы перехватить ошибку. В скрипте есть таблица, объявленная как переменная. Некоторый t-sql выполняет вставку в эту таблицу. Я хотел бы выбирать из таблицы, находясь в режиме отладки. У меня на экране открыто окно «locals», но я не могу видеть там содержимое таблицы, только саму переменную, и я также не могу выбрать временную табличную переменную, когда выполнение кода останавливается на желаемой точке останова.
Есть ли способ, которым я могу запросить таблицу в режиме отладки? Спасибо!
Ответ №1:
В целях отладки вы могли бы заменить табличную переменную (@tableName) глобальной временной таблицей (##tableName).
Табличные переменные и локальные временные таблицы (#tableName) существуют только в сеансе, в котором они определены, поэтому запрос может быть выполнен только в этом сеансе. Глобальные временные таблицы могут быть доступны из других сеансов и будут сохраняться до тех пор, пока все подключения к ним не будут удалены, так что вы сможете проверять результаты из другого окна SSMS по мере выполнения скрипта в этом окне.
Вы захотите закомментировать определение табличной переменной, затем добавить CREATE TABLE ##...
инструкцию. После этого Find amp; Replace должен подготовить ваш скрипт (и поместить его обратно, когда вы закончите).
Вот документация по временным таблицам.