SSMS
 sql >> Datenbank >  >> Database Tools >> SSMS

Wie werden Daten in Tabellenvariablen während der Debugging-Sitzung in MS SQL Management Studio 2012 angezeigt?

Obwohl ich nirgendwo eine Dokumentation finden kann, die ausdrücklich besagt, dass Sie Tabellenvariablen nicht überprüfen können, glaube ich nicht, dass dies möglich ist. Von Transact-SQL-Debugger

Einheimische und Ansehen . Diese Fenster zeigen aktuell zugeordnete Transact-SQL-Ausdrücke an. Ausdrücke sind Transact-SQL-Klauseln, die zu einem einzelnen Skalarausdruck ausgewertet werden . Der Transact-SQL-Debugger unterstützt das Anzeigen von Ausdrücken, die auf Transact-SQL-Variablen, -Parameter oder die integrierten Funktionen verweisen, deren Namen mit @@ beginnen. Diese Fenster zeigen auch die Datenwerte an, die den Ausdrücken aktuell zugewiesen sind.

(Meine Betonung )

Das heißt, Sie können nur Skalare untersuchen.

Zu Ihrem Versuch, das Direktfenster zu verwenden, der Einschränkungen von Debugger-Befehlen und -Funktionen sagt:

Die Sofort Das Fenster wird angezeigt, aber Sie können damit nichts Nützliches tun, z. B. eine Variable auf einen Wert setzen oder die Datenbank abfragen.

Ich habe den Debugger nie wirklich viel benutzt - jedes Mal, wenn ich mich damit befasst habe, stoße ich auf solche Einschränkungen.

Aus diesem Grund neige ich immer noch dazu, "old-skool"/"printf"-Ansätze zum Debuggen von SQL zu verwenden - fügen Sie zusätzliches SELECT * hinzu s großzügig im gesamten Code, der den aktuellen Zustand der Tabellen zeigt, und zusätzliches PRINT oder RAISERROR Nachrichten, die andere Zustände anzeigen usw. Und dann den Code einfach normal ausführen, bis Sie ihn in Form gebracht haben.