Chociaż nie mogę nigdzie znaleźć żadnej dokumentacji, która wyraźnie stwierdza, że nie można sprawdzać zmiennych tabeli, nie wierzę, że jest to możliwe. Od Debugger języka Transact-SQL
Miejscowi i Obejrzyj . Te okna wyświetlają aktualnie przydzielone wyrażenia Transact-SQL. Wyrażenia to klauzule Transact-SQL, których wynikiem jest pojedyncze wyrażenie skalarne . Debuger języka Transact-SQL obsługuje wyświetlanie wyrażeń, które odwołują się do zmiennych, parametrów lub funkcji wbudowanych języka Transact-SQL, których nazwy zaczynają się od @@. Te okna wyświetlają również wartości danych, które są aktualnie przypisane do wyrażeń.
(Moje naciski )
Oznacza to, że możesz sprawdzać tylko skalary.
Jeśli chodzi o próbę użycia okna bezpośredniego, Ograniczenia poleceń i funkcji debugera mówi:
Natychmiastowe wyświetlane jest okno, ale nie można z nim zrobić nic użytecznego, takiego jak ustawienie zmiennej na wartość lub wykonanie zapytania do bazy danych.
Tak naprawdę nigdy nie korzystałem zbyt często z debuggera — za każdym razem, gdy go zaglądałem, napotykam takie ograniczenia.
Dlatego nadal używam podejścia "old-skool"/"printf" do debugowania SQL - dodaj dodatkowy SELECT *
s swobodnie w całym kodzie pokazując aktualny stan tabel i dodatkowe PRINT
lub RAISERROR
komunikaty, które pokazują inne stany itp. A potem po prostu uruchamiaj kod normalnie, dopóki nie zmienisz kształtu.