Können wir die Werte (Zeilen und Zellen) in einer Variablen mit Tabellenwert in SQL Server Management Studio (SSMS) während der Debug-Zeit sehen? Wenn ja, wie?
sql
debugging
ssms
table-variable
Faiz
quelle
quelle
Fügen Sie die obige Anweisung an der Stelle ein, an der Sie den Inhalt der Tabelle anzeigen möchten. Der Inhalt der Tabelle wird im lokalen Fenster als XML gerendert, oder Sie können ihn
@v
dem Überwachungsfenster hinzufügen .quelle
DECLARE @v nvarchar(max) = (SELECT * FROM <tablename> FOR JSON AUTO)
Dieses Projekt https://github.com/FilipDeVos/sp_select verfügt über eine gespeicherte Prozedur
sp_select
, mit der Sie aus einer temporären Tabelle auswählen können.Verwendung:
Während des Debuggens einer gespeicherten Prozedur können Sie eine neue Registerkarte öffnen und diesen Befehl ausführen, um den Inhalt der temporären Tabelle anzuzeigen.
quelle
Erstellen Sie in der gespeicherten Prozedur eine globale temporäre Tabelle ## versucht und schreiben Sie eine Einfügeabfrage in Ihre gespeicherte Prozedur, die die Daten in Ihrer Tabelle in diese temporäre Tabelle einfügt.
Sobald dies erledigt ist, können Sie den Inhalt der temporären Tabelle überprüfen, indem Sie ein neues Abfragefenster öffnen. Verwenden Sie einfach "Wählen Sie * aus ## Versuchbar"
quelle
Verwenden Sie einfach die Auswahlabfrage, um die Tabellenvariable anzuzeigen, wo immer Sie sie überprüfen möchten.
http://www.simple-talk.com/sql/learn-sql-server/management-studio-improvements-in-sql-server-2008/
quelle
Wenn Sie SQL Server 2016 oder höher verwenden, können Sie es auch als JSON-Ergebnis auswählen und in JSON Visualizer anzeigen. Es ist viel einfacher zu lesen als in XML und ermöglicht das Filtern von Ergebnissen.
quelle
Ich bin zu dem Schluss gekommen, dass dies ohne Plugins nicht möglich ist.
quelle
SQL Server Profiler 2014 listet den Inhalt des Tabellenwertparameters auf. Könnte auch in früheren Versionen funktionieren. SP aktivieren: Starten oder RPC: Ereignis in der Gruppe "Gespeicherte Prozeduren" und in der Spalte "TextData" abgeschlossen. Wenn Sie auf den Eintrag im Protokoll klicken, werden die Anweisungen "insert" für die Tabellenvariable angezeigt. Anschließend können Sie den Text kopieren und in Management Studio ausführen.
Beispielausgabe:
quelle
Warum nicht einfach die Tabelle auswählen und die Variable so anzeigen?
quelle
SELECT * FROM @Table
dem zu debuggenden Skript ein hinzufügen, werden keine Ergebnisse an das Ergebnisfenster ausgegeben.Tut mir leid, ich bin etwas spät zur Party, aber für alle, die zu einem späteren Zeitpunkt über diese Frage stolpern, habe ich den einfachsten Weg gefunden, dies in einer gespeicherten Prozedur zu tun:
Die Antwort von messi19 sollte meiner Meinung nach die akzeptierte sein, da sie einfacher als meine ist und die meiste Zeit die Arbeit erledigt. Wenn Sie jedoch wie ich sind und eine Tabellenvariable in einer Schleife haben, die Sie überprüfen möchten, erledigt dies die Arbeit gut ohne zu viel Aufwand oder externe SSMS-Plugins.
quelle