Share via


sp_stored_procedures (Transact-SQL)

Aktualisiert: 17. Juli 2006

Gibt eine Liste der gespeicherten Prozeduren in der aktuellen Umgebung zurück.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

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 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 AdventureWorks-Datenbank zurückgegeben.

USE AdventureWorks;
GO
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 AdventureWorks;
GO
sp_stored_procedures N'uspLogError', N'dbo', N'AdventureWorks', 1;

Siehe auch

Verweis

Gespeicherte Prozeduren für Kataloginformationen (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

17. Juli 2006

Neuer Inhalt:
  • Beispiele wurden hinzugefügt.