Можем ли мы увидеть значения (строки и ячейки) в переменной таблицы в SQL Server Management Studio (SSMS) во время отладки? Если да, то как?
Можем ли мы увидеть значения (строки и ячейки) в переменной таблицы в SQL Server Management Studio (SSMS) во время отладки? Если да, то как?
Это еще не реализовано в соответствии с этой ссылкой Microsoft Connect: Microsoft Connect
DECLARE @v XML = (SELECT * FROM <tablename> FOR XML AUTO)
Вставьте указанный выше оператор в том месте, где вы хотите просмотреть содержимое таблицы. Содержимое таблицы будет отображаться как XML в окне locals, или вы можете добавить @v
в окно часов.
В этом проекте https://github.com/FilipDeVos/sp_select хранится процедура sp_select
, которая позволяет выбирать из временной таблицы.
Использование:
exec sp_select 'tempDb..#myTempTable'
При отладке хранимой процедуры вы можете открыть новую вкладку и запустить эту команду, чтобы увидеть содержимое таблицы temp.
В Хранимой процедуре создайте глобальную временную таблицу ## temptable и напишите запрос вставки в вашей хранимой процедуре, который вставляет данные в вашу таблицу в эту временную таблицу.
Как только это будет сделано, вы можете проверить содержимое временной таблицы, открыв новое окно запроса. Просто используйте "select * from ## temptable"
Просто используйте запрос выбора, чтобы отобразить таблицу varialble, где бы вы ни захотели проверить.
http://www.simple-talk.com/sql/learn-sql-server/management-studio-improvements-in-sql-server-2008/
Почему бы просто не выбрать таблицу и не просмотреть переменную таким образом?
SELECT * FROM @d
Я пришел к выводу, что это невозможно без каких-либо плагинов.
SQL Server Profiler 2014 перечисляет содержимое параметра значения таблицы. Может также работать и в предыдущих версиях. Включить SP: Запуск или RPC: Завершенное событие в столбце Сохраненные процедуры и столбец TextData, и когда вы нажимаете на запись в журнале, вы будете иметь инструкции вставки для переменной таблицы. Затем вы можете скопировать текст и запустить в Management Studio.
Пример вывода:
declare @p1 dbo.TableType
insert into @p1 values(N'A',N'B')
insert into @p1 values(N'C',N'D')
exec uspWhatever @[email protected]
Извините, ребята, я немного опаздываю на вечеринку, но для тех, кто наткнулся на этот вопрос позже, я нашел самый простой способ сделать это в хранимой процедуре:
Сообщение messi19 должно быть принятым IMHO, поскольку оно проще, чем мое, и делает работу наиболее того времени, но если вы похожи на меня и имеете переменную таблицы внутри цикла, вы хотите проверить, это делает работу красиво без особых усилий или внешних плагинов SSMS.