Въпреки че не мога да намеря никъде документация, която изрично посочва, че не можете да проверявате променливи в таблицата, не вярвам, че е възможно. От Transact-SQL Debugger
Местни и Гледайте . Тези прозорци показват текущо разпределените Transact-SQL изрази. Изразите са клаузи на Transact-SQL, които се оценяват до единичен скаларен израз . Transact-SQL дебъгерът поддържа преглед на изрази, които препращат към Transact-SQL променливи, параметри или вградени функции, които имат имена, които започват с @@. Тези прозорци също така показват стойностите на данните, които в момента са присвоени на изразите.
(Моят акцент )
Тоест можете да проверявате само скалари.
Що се отнася до опита ви да използвате прозореца Immediate, Ограничения на командата и функциите на Debugger казва:
Незабавното прозорецът се показва, но не можете да направите нищо полезно с него, като например задаване на стойност на променлива или запитване към базата данни.
Никога не съм използвал много дебъгера – всеки път, когато го разглеждам, срещам ограничения като това.
Ето защо все още съм склонен да използвам подходи "old-skool"/"printf" за отстраняване на грешки в SQL - включете допълнително SELECT *
s свободно в целия код, показващ текущото състояние на таблиците, и допълнително PRINT
или RAISERROR
съобщения, които показват други състояния и т.н. И след това просто стартирайте кода нормално, докато не го разбиете във форма.