Megosztás a következőn keresztül:


sp_stored_procedures (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

Visszaadja a tárolt eljárások listáját a jelenlegi környezetben.

Transact-SQL szintaxis konvenciók

Szemantika

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'

A katalógusinformáció visszaküldésére használt eljárás neve. @sp_namenvarchar(390), alapértelmezett értéke NULL. A vadkártya mintázatpárosítás támogatott.

[ @sp_owner = ] N'sp_owner'

Annak a sémának a neve, amelyhez az eljárás tartozik. @sp_ownernvarchar(384), alapértelmezett értéke NULL. A vadkártya mintázatpárosítás támogatott. Ha @sp_owner nincs megadva, akkor az alap adatbázis-kezelő rendszer (DBMS) alapértelmezett eljárás láthatósági szabályai érvényesek.

Az SQL Serverben, ha a jelenlegi séma tartalmaz egy meghatározott nevű eljárást, az adott eljárás visszatér. Ha nem minősített tárolt eljárást jelölnek meg, az Adatbázis Motor a következő sorrendben keresi az eljárást:

  • A sys jelenlegi adatbázis sémája.

  • A hívó alapértelmezett sémája, ha csomagban vagy dinamikus SQL-ben futtatják; vagy ha a nem minősített eljárás neve megjelenik egy másik eljárásdefiníció testében, akkor a következő keresés a másik eljárást tartalmazó sémát keresik.

  • A dbo jelenlegi adatbázisban lévő séma.

[ @sp_qualifier = ] N'sp_qualifier'

Az eljárás minősítő neve. @sp_qualifier a sysname, alapértelmezettként NULL. Különböző adatbázis-alapú termékek háromrészes elnevezést támogatnak a táblákhoz az űrlapban <qualifier>.<schema>.<name>. Az SQL Serverben @sp_qualifier az adatbázis nevét képviseli. Néhány termékben ez a tábla adatbázis környezetének szervernevét jelöli.

[ @fUsePattern = ] fUsePattern

Meghatározza, hogy az aláhúzott (_), százalék (%) vagy a zárójel ([ és ]) vaker karakterként értelmezhető-e. @fUsePatternbit, alapértelmezés 1szerint .

  • 0 = A mintás párosítás nem működik.
  • 1 = A mintapárosítás bekapcsolt.

Kódértékek visszaadása

Nincs.

Eredményhalmaz

Oszlop név Adattípus Description
PROCEDURE_QUALIFIER sysname Eljárás minősítő neve. Ez az oszlop lehet NULL.
PROCEDURE_OWNER sysname A folyamat tulajdonosának neve. Ez az oszlop mindig értéket ad vissza.
PROCEDURE_NAME nvarchar(134) Eljárás neve. Ez az oszlop mindig értéket ad vissza.
NUM_INPUT_PARAMS int Jövőbeli használatra fenntartva.
NUM_OUTPUT_PARAMS int Jövőbeli használatra fenntartva.
NUM_RESULT_SETS int Jövőbeli használatra fenntartva.
REMARKS Varchar(254) Az eljárás leírása. Az SQL Server nem ad vissza értéket ehhez az oszlophoz.
PROCEDURE_TYPE smallint Eljárás típusa. Az SQL Server mindig 2.0-t ad vissza. Ez az érték az alábbi lehetőségek egyike lehet:

0 = SQL_PT_UNKNOWN
1 = SQL_PT_PROCEDURE
2 = SQL_PT_FUNCTION

Megjegyzések

A maximális interoperabilitás érdekében a gateway kliensnek csak SQL standard mintázatpárosítást kell feltételeznie, nevezetesen a százalékos (%) és aláhúzott (_) vadkártya karaktereket.

A jelenlegi felhasználó számára egy adott tárolt eljáráshoz való végrehajtási hozzáférés engedélyezési adatai nem feltétlenül vannak ellenőrzve; Ezért a hozzáférés nem garantált. Csak háromrészes elnevezést használnak. Ez azt jelenti, hogy csak helyi tárolt eljárások jelennek meg, nem távolról tárolt eljárások (amelyek négy részes elnevezést igényelnek), amikor SQL Server ellen futtatják őket. Ha a szerver attribútuma ACCESSIBLE_SPROC Y az eredményhalmazban , sp_server_infocsak azokat a tárolt eljárásokat térnek vissza, amelyeket a jelenlegi felhasználó tud végrehajtani.

sp_stored_proceduresaz ODBC-vel egyenértékű.SQLProcedures A visszaadott eredményeket , PROCEDURE_QUALIFIERPROCEDURE_OWNER, és PROCEDURE_NAME.

Permissions

Engedély SELECT szükséges a sémához.

Példák

A. Vissza az összes tárolt eljárást az aktuális adatbázisban

A következő példa visszaadja az összes tárolt eljárást az AdventureWorks2025 adatbázisban.

USE AdventureWorks2022;
GO

EXECUTE sp_stored_procedures;

B. Egyetlen tárolt eljárás visszaküldése

A következő példa egy eredményhalmazt ad vissza a uspLogError tárolt eljáráshoz.

USE AdventureWorks2022;
GO

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