sp_helptext
hat einige vorsätzliche Macken eingebaut, und einige "unerwartete" Verhaltensweisen.
Ich setze das in Anführungszeichen, weil die meisten Leute, die es verwenden, nicht wirklich die documentation gelesen haben, geschweige denn in die Systemprozeduren gegangen sind und die eigentliche Definition des Verfahrens selbst angeschaut haben.
Ich neige dazu, die Definitionen, anstatt in den Systemtabellen gespeichert zu verwenden:
SELECT definition
FROM sys.all_sql_modules S
WHERE OBJECT_NAME(S.object_id) = 'MySProc'
;
Dieses typisch mir konsistentere Ergebnisse in einigen Punkten gibt, und ermöglicht es mir auch sofort Änderungen wenn nötig zu tun. Mit sp_helptext speichern viele Leute die Ausgabe in einer Variablen und ändern dann den Variablenwert; Mit einem SELECT
direkt von sys.all_sql_modules
, können Sie einfach gewünschte Änderungen direkt auf den zurückgegebenen Wert ohne variable Operationen durchführen.
(Übrigens funktioniert die gleiche Abfrage hier auf sp_helptext
selbst, und Sie können gerne ihre Definition betrachten, um zu versuchen, zu verstehen, was es macht und was mit Ihren Definitionen passiert. Stellen Sie nur sicher, dass Sie nicht versehentlich ALTER
it ...)
Ich weiß, das beantwortet nicht genau Ihre Frage "Warum passiert das?", Und ich hoffe, dass die Antwort von jemand anderem Ihnen dabei helfen wird. In der Zwischenzeit können Sie versuchen, sich die Systemtabellen anzusehen und zu sehen, ob sie Ihnen vielleicht eine funktionierende Lösung bieten.
Viel Glück!
Erste Edit: Wenn Sie schauen, um Abhängigkeiten zu finden, auf Ihre Version von SQL abhängig Sie diese verwenden können:
[Referenced Tables]
--------------------
ServerName\InstanceName.DBName.TableName
Willkommen zu:
Gibt eine verkettete Zeichenfolge Paketüberfluss. Bitte geben Sie Quelltext, Fehlermeldungen und andere Textinformationen immer als Inline-Text und nicht als externe Bilder an. Text ist durchsuchbar, wiederverwendbar und normalerweise einfacher zu lesen. Vergessen Sie auch nicht, Tags zu verwenden, um die Technologie zu identifizieren (diese Seite deckt alle Programmiersprachen ab). –
Sie wollten Formatierung sagen? – TheGameiswar
Ich stimme zu, die Frage ist nicht ganz klar. Verfügen Sie über Zeilenumbrüche im Unix-Stil? Wenn ja, fragen Sie sich, wie man Management Studio konfiguriert, wie man die Ausgabe nachbearbeitet oder 'sp_helptext' selbst ändert? –