Sdílet prostřednictvím


sp_stored_procedures (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL databáze v Microsoft Fabric

Vrací seznam uložených procedur v aktuálním prostředí.

Transact-SQL konvence syntaxe

Syntaxe

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'

Název postupu používaného k vrácení informací z katalogu. @sp_name je nvarchar(390), s výchozím hodnotou NULL. Je podporováno porovnávání vzorů divoké karty.

[ @sp_owner = ] N'sp_owner'

Název schématu, do kterého procedura patří. @sp_owner je nvarchar(384), s výchozím hodnotou NULL. Je podporováno porovnávání vzorů divoké karty. Pokud @sp_owner není specifikováno, platí výchozí pravidla pro viditelnost procedur v základním systému správy databází (DBMS).

V SQL Serveru, pokud aktuální schéma obsahuje proceduru se stanoveným názvem, tato procedura se vrátí. Pokud je specifikována nekvalifikovaná uložená procedura, databázový engine ji vyhledá v následujícím pořadí:

  • Schéma sys aktuální databáze.

  • Výchozí schéma volajícího při spuštění v dávkové nebo dynamické SQL je to ne; nebo pokud se nekvalifikovaný název procedury objeví v těle definice jiné procedury, je následně vyhledáno schéma obsahující tento jiný postup.

  • Schéma dbo v aktuální databázi.

[ @sp_qualifier = ] N'sp_qualifier'

Název kvalifikátoru postupu. @sp_qualifier je sysname s výchozím nastavením NULL. Různé produkty DBMS podporují třífázové pojmenování tabulek ve tvaru <qualifier>.<schema>.<name>. V SQL Serveru @sp_qualifier představuje název databáze. V některých produktech představuje název serveru databázového prostředí tabulky.

[ @fUsePattern = ] fUsePattern

Určuje, zda jsou podtržítek (_), procento (%) nebo závorky ([ a ]) interpretovány jako žolíkové znaky. @fUsePattern je bit, s výchozím nastavením 1.

  • 0 = Porovnání vzorů je vypnuté.
  • 1 = Porovnání vzorů je zapnuté.

Hodnoty návratového kódu

Žádné.

Sada výsledků

Název sloupce Datový typ Description
PROCEDURE_QUALIFIER sysname Název kvalifikace postupu. Tento sloupec může být .NULL
PROCEDURE_OWNER sysname Jméno majitele zákroku. Tento sloupec vždy vrací hodnotu.
PROCEDURE_NAME nvarchar(134) Název procedury Tento sloupec vždy vrací hodnotu.
NUM_INPUT_PARAMS int Vyhrazeno pro budoucí použití.
NUM_OUTPUT_PARAMS int Vyhrazeno pro budoucí použití.
NUM_RESULT_SETS int Vyhrazeno pro budoucí použití.
REMARKS varchar(254) Popis postupu. SQL Server nevrací hodnotu pro tento sloupec.
PROCEDURE_TYPE smallint Typ postupu. SQL Server vždy vrací verzi 2.0. Tato hodnota může být jednou z následujících možností:

0 = SQL_PT_UNKNOWN
1 = SQL_PT_PROCEDURE
2 = SQL_PT_FUNCTION

Poznámky

Pro maximální interoperabilitu by klient brány měl předpokládat pouze standardní SQL vzory, konkrétně zástupce žolíků (%) % (%) a podtržítek (_).

Informace o oprávněních k přístupu ke spuštění ke specifické uložené procedurě pro současného uživatele nemusí být nutně kontrolovány; Proto přístup není zaručen. Používá se pouze tříčlenné pojmenování. To znamená, že při spuštění na SQL Serveru se vracejí pouze lokální uložené procedury, nikoli vzdálené uložené procedury (které vyžadují čtyřdílné pojmenování). Pokud je atribut ACCESSIBLE_SPROC serveru Y ve výsledné množině pro sp_server_info, vrátí se pouze uložené procedury, které může současný uživatel spustit.

sp_stored_procedures je ekvivalentní s v SQLProcedures ODBC. Výsledky vrácené jsou uspořádány podle PROCEDURE_QUALIFIER, PROCEDURE_OWNER, a PROCEDURE_NAME.

Povolení

Vyžaduje SELECT povolení ke schématu.

Examples

A. Vraťte všechny uložené procedury v aktuální databázi

Následující příklad vrací všechny uložené procedury v databázi AdventureWorks2025.

USE AdventureWorks2022;
GO

EXECUTE sp_stored_procedures;

B. Vraťte jednu uloženou proceduru

Následující příklad vrací množinu výsledků pro uloženou proceduru uspLogError .

USE AdventureWorks2022;
GO

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