Hoewel ik nergens documentatie kan vinden waarin expliciet staat dat je tabelvariabelen niet kunt inspecteren, geloof ik niet dat het mogelijk is. Van Transact-SQL Debugger
Localisten en Kijk . In deze vensters worden momenteel toegewezen Transact-SQL-expressies weergegeven. Expressies zijn Transact-SQL-clausules die resulteren in een enkele, scalaire expressie . De Transact-SQL-foutopsporing ondersteunt weergave-expressies die verwijzen naar Transact-SQL-variabelen, parameters of de ingebouwde functies waarvan de naam begint met @@. Deze vensters tonen ook de gegevenswaarden die momenteel aan de uitdrukkingen zijn toegewezen.
(Mijn nadruk )
Dat wil zeggen, u kunt alleen scalairen inspecteren.
Wat betreft uw poging om het onmiddellijke venster te gebruiken, de Beperkingen op Debugger-commando's en -functies zegt:
De Onmiddellijke venster wordt weergegeven, maar u kunt er niets nuttigs mee doen, zoals het instellen van een variabele op een waarde of het opvragen van de database.
Ik heb de debugger nooit echt veel gebruikt - elke keer als ik erin heb gekeken, kom ik dergelijke beperkingen tegen.
Dat is waarom ik nog steeds de neiging heb om "old-skool"/"printf"-benaderingen te gebruiken om SQL te debuggen - voeg extra SELECT *
toe s royaal door de code die de huidige staat van tabellen toont, en extra PRINT
of RAISERROR
berichten die andere statussen tonen, enz. En voer de code dan gewoon normaal uit, totdat je hem in vorm hebt geslagen.