sp_stored_procedures (Transact-SQL)
Gibt eine Liste der gespeicherten Prozeduren in der aktuellen Umgebung zurück.
Syntax
sp_stored_procedures [ [ @sp_name = ] 'name' ]
[ , [ @sp_owner = ] 'schema']
[ , [ @sp_qualifier = ] 'qualifier' ]
[ , [@fUsePattern = ] 'fUsePattern' ]
Argumente
[@sp_name = ] 'name'
Der Name der Prozedur, die zum Zurückgeben von Kataloginformationen verwendet wird. name ist vom Datentyp nvarchar(390) und hat den Standardwert NULL. Mustervergleiche mit Platzhalterzeichen werden unterstützt.@sp_owner = ] 'schema'
Der Name des Schemas, zu dem die Prozedur gehört. schema ist vom Datentyp nvarchar(384) und hat den Standardwert NULL. Mustervergleiche mit Platzhalterzeichen werden unterstützt. Wenn owner nicht angegeben wird, gelten die Standardregeln für die Sichtbarkeit von Prozeduren des zugrunde liegenden DBMS.Wenn das aktuelle Schema in SQL Server eine Prozedur mit dem angegebenen Namen enthält, wird diese Prozedur zurückgegeben. Wird ein nicht gekennzeichneter Name einer gespeicherten Prozedur angegeben, durchsucht Database Engine (Datenbankmodul) die folgenden Schemas in der angegebenen Reihenfolge nach der Prozedur:
Das sys-Schema der aktuellen Datenbank.
Das Standardschema des aufrufenden Prozesses, wenn er in einem Batch oder in dynamischem SQL ausgeführt wird. Falls der nicht gekennzeichnete Prozedurname im Text einer anderen Prozedurdefinition auftritt, wird als Nächstes das Schema durchsucht, das diese andere Prozedur enthält. Weitere Informationen zu Standardschemas finden Sie unter Trennung von Benutzer und Schema.
Das dbo-Schema in der aktuellen Datenbank.
[@qualifier = ] 'qualifier'
Der Name des Prozedurqualifizierers. qualifier ist vom Datentyp sysname und hat den Standardwert NULL. Verschiedene DBMS-Produkte unterstützen eine dreiteilige Benennung für Tabellen im Format (qualifier**.schema.**name). In SQL Server stellt qualifier den Datenbanknamen dar. Bei einigen anderen Produkten stellt sie den Servernamen der Datenbankumgebung für die Tabelle dar.[ @fUsePattern = ] 'fUsePattern'
Bestimmt, ob der Unterstrich (_), das Prozentzeichen (%) oder die eckigen Klammern ([ ]) als Platzhalterzeichen interpretiert werden. fUsePattern ist vom Datentyp bit und hat den Standardwert 1.0 = Mustervergleich ist deaktiviert.
1 = Mustervergleich ist aktiviert.
Rückgabecodewerte
Keine
Resultsets
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
PROCEDURE_QUALIFIER |
sysname |
Der Name des Prozedurqualifizierers. Diese Spalte kann NULL enthalten. |
PROCEDURE_OWNER |
sysname |
Der Name des Prozedurbesitzers. Diese Spalte gibt immer einen Wert zurück. |
PROCEDURE_NAME |
nvarchar(134) |
Der Name der Prozedur. Diese Spalte gibt immer einen Wert zurück. |
NUM_INPUT_PARAMS |
int |
Zur künftigen Verwendung reserviert. |
NUM_OUTPUT_PARAMS |
int |
Zur künftigen Verwendung reserviert. |
NUM_RESULT_SETS |
int |
Zur künftigen Verwendung reserviert. |
REMARKS |
varchar(254) |
Beschreibung der Prozedur. SQL Server gibt keinen Wert für diese Spalte zurück. |
PROCEDURE_TYPE |
smallint |
Prozedurtyp. SQL Server gibt immer 2.0 zurück. Folgende Werte sind zulässig: 0 = SQL_PT_UNKNOWN 1 = SQL_PT_PROCEDURE 2 = SQL_PT_FUNCTION |
Hinweise
Für eine optimale Interoperabilität sollte der Gatewayclient nur einen SQL-92-Standardmustervergleich voraussetzen (die Platzhalterzeichen Prozent (%) und Unterstrich (_)).
Da die Berechtigungen des aktuellen Benutzers zum Ausführungszugriff auf eine bestimmte gespeicherte Prozedur nicht unbedingt überprüft werden, ist der Zugriff nicht unter allen Umständen sichergestellt. Beachten Sie, dass nur eine dreiteilige Benennung verwendet wird. Daher werden nur Informationen zu lokalen gespeicherten Prozeduren und nicht zu remote gespeicherten Prozeduren (die eine vierteilige Benennung erfordern) zurückgegeben, wenn diese für SQL Server ausgeführt werden. Wenn das Serverattribut ACCESSIBLE_SPROC im Resultset von sp_server_info den Wert Y hat, werden nur Informationen zu den gespeicherten Prozeduren zurückgegeben, die der aktuelle Benutzer ausführen kann.
sp_stored_procedures entspricht SQLProcedures in ODBC. Die zurückgegebenen Informationen werden nach PROCEDURE_QUALIFIER, PROCEDURE_OWNER und PROCEDURE_NAME geordnet.
Berechtigungen
Erfordert die SELECT-Berechtigung für das Schema.
Beispiele
A. Zurückgeben aller gespeicherten Prozeduren in der aktuellen Datenbank
Im folgenden Beispiel werden alle gespeicherten Prozeduren in der AdventureWorks2008R2-Datenbank zurückgegeben.
USE AdventureWorks2008R2;
GO
EXECUTE sp_stored_procedures;
B. Zurückgeben einer einzelnen gespeicherten Prozedur
Im folgenden Beispiel wird ein Resultset für die gespeicherte Prozedur uspLogError zurückgegeben.
USE AdventureWorks2008R2;
GO
EXECUTE sp_stored_procedures N'uspLogError', N'dbo', N'AdventureWorks2008R2', 1;