sachsenhessi
Goto Top

TSQL debuggen temporärer Tabellen

Hallo,

ich google mir lngsam die Finger wund. (Vielleicht habe ich aber auch nur die Frage falsch formuliert)
Folgendes Problem:
Ich habe temporäre Tabellen in einer UDF.
Beispiel:
CREATE TABLE [Produktion].[#tmpBeispiel]
Diese möchte ich gerne beim Debuggen ansehen.
Leider kriege ich das nicht wirklich gebacken.
Die einzigen Methoden die ich kenne wären:
DECLARE @DebugMe XML
SET @DebugMe = (SELECT * FROM #tmpBeispiel FOR XML RAW)

und dann das XML speichern, bearbeiten (Da es kein Root-Element hat) und dann ansehen (z.Bsp. mit Excel).
Oder
select * from #tmpBeispiel
das würde dann im Meldungsfenster ausgegeben.

Nachteil beider Methoden, es muss jedesmal im Quellcode der UDF eine Zeile eingefügt werden, dort wo man debuggen will.
Das ist natürlich umständlicher als direkt jederzeit auf die aktuelle Tabelle zuzugreifen.
Der Debugger im SSMS stellt ja nur eine Übersicht für skalare Variablen zur Verfügung.

Gibt es da noch irgend eine andere Möglichkeit, an jeder Stelle beim debuggen den Inhalt der temporären Tabelle anzusehen.
(Vorausgesetzt natürlich sie existiert)

Ich hoffe ich habe mich verständlich ausgedrückt, wo mir der Schuh drückt.

Danke schon mal im Voraus

Frank

Content-Key: 437272

Url: https://administrator.de/contentid/437272

Printed on: June 23, 2024 at 20:06 o'clock

Member: ukulele-7
ukulele-7 Apr 06, 2019 at 23:13:43 (UTC)
Goto Top
Ich bin mir nicht sicher ob ich dich richtig verstehe.

Kannst du nicht deine Funktion mal als Script im SQL Management Studio öffnen und dort schrittweise ausführen? Die temporäre Tabelle bleibt dir erhalten solange du das Script geöffnet hälst und die Tabelle nicht dropst. Mit SSMS habe ich leider keine Erfahrungen.
Member: SachsenHessi
SachsenHessi Apr 08, 2019 updated at 10:34:38 (UTC)
Goto Top
Zitat von @ukulele-7:

Ich bin mir nicht sicher ob ich dich richtig verstehe.

Kannst du nicht deine Funktion mal als Script im SQL Management Studio öffnen und dort schrittweise ausführen? Die temporäre Tabelle bleibt dir erhalten solange du das Script geöffnet hälst und die Tabelle nicht dropst. Mit SSMS habe ich leider keine Erfahrungen.
Genau darum get es ja.
Das SSMS ist das das Managmentstudio (SqlServerManagementStudio - SSMS).
Ich möchte in einer UDF/UDP auch die temporären Tabellen mir ansehen , ohne immer wieder an bestimmten Stellen "Debugging-Code" (à la <SELECT * FROM #tmpBeispiel> ) einfügen zu müssen.
Frank
Member: ukulele-7
ukulele-7 Apr 08, 2019 at 11:23:21 (UTC)
Goto Top
Ah okay. Also da fällt mir nur ein die Tabelle nicht als tempöre Tabelle anzulegen sondern als statische, vielleicht mit einem Zeitstempel in einer zusätzlichen Spalte vom Aufruf der Prozedur.