Share via


sp_stored_procedures (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-database in Microsoft Fabric

Geeft een lijst van opgeslagen procedures in de huidige omgeving terug.

Transact-SQL syntaxis-conventies

Syntaxis

sp_stored_procedures
    [ [ @sp_name = ] N'sp_name' ]
    [ , [ @sp_owner = ] N'sp_owner' ]
    [ , [ @sp_qualifier = ] N'sp_qualifier' ]
    [ , [ @fUsePattern = ] fUsePattern ]
[ ; ]

Arguments

[ @sp_name = ] N'sp_name'

De naam van de procedure die wordt gebruikt om catalogusinformatie terug te geven. @sp_name is nvarchar(390), met als standaard .NULL Wildcard-patroonmatching wordt ondersteund.

[ @sp_owner = ] N'sp_owner'

De naam van het schema waartoe de procedure behoort. @sp_owner is nvarchar(384), met als standaard .NULL Wildcard-patroonmatching wordt ondersteund. Als @sp_owner niet is gespecificeerd, gelden de standaardprocedures voor zichtbaarheid van het onderliggende databasebeheersysteem (DBMS).

In SQL Server, als het huidige schema een procedure met de opgegeven naam bevat, wordt die procedure teruggegeven. Als een niet-gekwalificeerde opgeslagen procedure wordt gespecificeerd, zoekt de Database Engine naar de procedure in de volgende volgorde:

  • Het sys schema van de huidige database.

  • Het standaardschema van de aanroeper als het in een batch of in dynamische SQL wordt uitgevoerd; of, als de niet-gekwalificeerde procedurenaam in de kern van een andere proceduredefinitie voorkomt, wordt het schema met deze andere procedure vervolgens doorzocht.

  • Het dbo schema in de huidige database.

[ @sp_qualifier = ] N'sp_qualifier'

De naam van de procedure-kwalificatie. @sp_qualifier is systeemnaam, met als standaard .NULL Verschillende DBMS-producten ondersteunen driedelige naamgeving voor tabellen in de vorm <qualifier>.<schema>.<name>. In SQL Server vertegenwoordigt @sp_qualifier de databasenaam. In sommige producten vertegenwoordigt het de servernaam van de databaseomgeving van de tabel.

[ @fUsePattern = ] fUsePattern

Bepaalt of de onderscore (_), procent (%), of haakjes ([ en ]) als jokertekens worden geïnterpreteerd. @fUsePattern is bit, met als standaard .1

  • 0 = Patroonmatching is niet goed.
  • 1 = Patroonmatching is aan.

Codewaarden retourneren

Geen.

Resultaatset

Kolomnaam Gegevenstype Description
PROCEDURE_QUALIFIER sysname Naam van de procedure-kwalificatie. Deze kolom kan zijn NULL.
PROCEDURE_OWNER sysname Naam van de eigenaar van de procedure. Deze kolom geeft altijd een waarde terug.
PROCEDURE_NAME Nvarchar(134) Procedurenaam. Deze kolom geeft altijd een waarde terug.
NUM_INPUT_PARAMS int Gereserveerd voor toekomstig gebruik.
NUM_OUTPUT_PARAMS int Gereserveerd voor toekomstig gebruik.
NUM_RESULT_SETS int Gereserveerd voor toekomstig gebruik.
REMARKS Varchar(254) Beschrijving van de procedure. SQL Server geeft geen waarde terug voor deze kolom.
PROCEDURE_TYPE smallint Proceduretype. SQL Server geeft altijd 2.0 terug. Deze waarde kan een van de volgende opties zijn:

0 = SQL_PT_UNKNOWN
1 = SQL_PT_PROCEDURE
2 = SQL_PT_FUNCTION

Opmerkingen

Voor maximale interoperabiliteit moet de gateway-client alleen SQL-standaardpatroonmatching aannemen, namelijk de percentage (%) en onderscore (_) wildcardtekens.

De machtigingsinformatie voor uitvoeren van toegang tot een specifieke opgeslagen procedure voor de huidige gebruiker wordt niet per se gecontroleerd; Daarom is toegang niet gegarandeerd. Er wordt slechts een driedelige naamgeving gebruikt. Dit betekent dat alleen lokaal opgeslagen procedures, en niet externe opgeslagen procedures (die vierdelige naamgeving vereisen), worden teruggegeven wanneer ze worden uitgevoerd in SQL Server. Als het serverattribuut ACCESSIBLE_SPROC Y is in de resultaatset voor sp_server_info, worden alleen opgeslagen procedures die door de huidige gebruiker kunnen worden uitgevoerd teruggegeven.

sp_stored_procedures is gelijk aan SQLProcedures in ODBC. De teruggegeven resultaten zijn geordend door PROCEDURE_QUALIFIER, PROCEDURE_OWNER, en PROCEDURE_NAME.

Permissions

Vereist SELECT toestemming voor het schema.

Voorbeelden

Eén. Geef alle opgeslagen procedures terug in de huidige database

Het volgende voorbeeld geeft alle opgeslagen procedures terug in de AdventureWorks2025-database.

USE AdventureWorks2022;
GO

EXECUTE sp_stored_procedures;

B. Geef een enkele opgeslagen procedure terug

Het volgende voorbeeld geeft een resultaatset voor de uspLogError opgeslagen procedure terug.

USE AdventureWorks2022;
GO

EXECUTE sp_stored_procedures N'uspLogError', N'dbo', N'AdventureWorks2022', 1;