Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Die Quelle der gespeicherten SQL Server-Prozedur programmgesteuert abrufen, die mit der Quelle identisch ist, die von der GUI von SQL Server Management Studio zurückgegeben wird?

EXEC sp_helptext 'your procedure name';

Dies vermeidet das Problem mit dem INFORMATION_SCHEMA-Ansatz, bei dem die gespeicherte Prozedur abgeschnitten wird, wenn sie zu lang ist.

Update:David schreibt, dass dies nicht mit seinem Sproc identisch ist ... vielleicht, weil es die Zeilen als "Datensätze" zurückgibt, um die Formatierung beizubehalten? Wenn Sie die Ergebnisse in einem "natürlicheren" Format sehen möchten, können Sie zuerst Strg-T verwenden (Ausgabe als Text) und es sollte genau so ausgedruckt werden, wie Sie es eingegeben haben. Wenn Sie dies im Code tun, ist es trivial, eine Suche durchzuführen, um Ihre Ergebnisse auf genau die gleiche Weise zusammenzusetzen.

Update 2:Dadurch wird die Quelle mit einem "CREATE PROCEDURE" anstelle eines "ALTER PROCEDURE" versehen, aber ich kenne keine Möglichkeit, stattdessen "ALTER" zu verwenden. Irgendwie eine triviale Sache, oder?

Update 3:Sehen Sie sich die Kommentare an, um mehr darüber zu erfahren, wie Sie Ihre SQL-DDL (Datenbankstruktur) in einem Quellcodeverwaltungssystem verwalten. Das ist wirklich der Schlüssel zu dieser Frage.