Optionale Parameter einer Prozedur ermitteln

24/09/2007 - 18:11 von Malte Klena | Report spam
Hallo allerseits!

Mit der Prozedur sp_sproc_columns ermittel ich Informationen über die
Parameter einer beliebigen Prozedur.
Die so ermittelten Angaben reichen jedoch leider nicht aus:
Ich muß wissen, welcher Parameter optional ist.
(Der Default-Wert wàre auch interessant, ist aber nicht so wichtig.)

Bin für jeden Tipp dankbar

Gruß
Malte
 

Lesen sie die antworten

#1 Georg Trapmal
24/09/2007 - 19:15 | Warnen spam
Hallo Malte

Mit der Prozedur sp_sproc_columns ermittel ich Informationen über die
Parameter einer beliebigen Prozedur.
Die so ermittelten Angaben reichen jedoch leider nicht aus:
Ich muß wissen, welcher Parameter optional ist.
(Der Default-Wert wàre auch interessant, ist aber nicht so wichtig.)



Meines Wissens ist das weder beim SQL Server 2000 noch 2005 möglich.
Siehe auch den BOL-Eintrag zu sys.parameters

http://msdn2.microsoft.com/de-de/li...76074.aspx

Unter "has_default_value" steht explizit geschrieben, dass diese Information
bei Transact-SQL-Objekten nicht verwaltet wird (in den sys-Tabellen ist auch
kein Flag eruierbar). Du müsstest also den Prozedurtext selber parsen (wie
es im Hinweis vorgeschlagen wird). Ob das aber immer funktioniert, ist
fraglich, v.a. wenn die Prozedur mit WITH ENCRYPTION in ein verborgenes
Format umgewandelt wurde. Eine andere Möglichkeit wàre, zu den Prozeduren
selber Metadaten zu verwalten (was aber wahrscheinlich nicht Dein Ziel ist).

Gruss
Georg

Ähnliche fragen