Aracılığıyla paylaş


sp_stored_procedures (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

Mevcut ortamda depolanmış prosedürlerin listesini döndürür.

Transact-SQL söz dizimi kuralları

Sözdizimi

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'

Katalog bilgilerini iade etmek için kullanılan prosedürün adı. @sp_namenvarchar(390)'dır ve varsayılan olarak .NULL Joker kart desen eşleştirmesi desteklenmektedir.

[ @sp_owner = ] N'sp_owner'

Yordamın ait olduğu şemanın adı. @sp_ownernvarchar(384)'tür, varsayılan olarak NULL. Joker kart desen eşleştirmesi desteklenmektedir. Eğer @sp_owner belirtilmemişse, temel veritabanı yönetim sisteminin (DBMS) varsayılan prosedür görünürlüğü kuralları uygulanır.

SQL Server'da, mevcut şema belirtilen isimle bir prosedür içeriyorsa, o prosedür geri döner. Niteliksiz bir depolanmış prosedür belirtilirse, Veritabanı Motoru prosedürü aşağıdaki sırayla arar:

  • sys Mevcut veritabanının şeması.

  • Çağıranın varsayılan şeması, toplu veya dinamik SQL'de çalıştırılıyorsa; ya da, niteliksiz prosedür adı başka bir prosedür tanımının gövdesinde görünürse, bu diğer prosedürü içeren şema aranır.

  • dbo Mevcut veritabanındaki şema.

[ @sp_qualifier = ] N'sp_qualifier'

İşlem niteleyicisinin adı. @sp_qualifiersysname'dir, varsayılan olarak .NULL Çeşitli DBMS ürünleri, tablolar için üç bölümlü adlandırmayı destekler.<qualifier>.<schema>.<name> SQL Server'da @sp_qualifier , veritabanı adını temsil eder. Bazı ürünlerde, tablonun veritabanı ortamının sunucu adını temsil eder.

[ @fUsePattern = ] fUsePattern

Alt çizgi (_), yüzde (%) veya parantez ([ ve ]) joker karakterler olarak yorumlanıp yorumlanmayacağını belirler. @fUsePatternbit'tir, varsayılan olarak .1

  • 0 = Desen eşleştirmesi hatalı.
  • 1 = Desen eşleştirmesi açık.

Dönüş kodu değerleri

Yok.

Sonuç kümesi

Sütun adı Veri türü Description
PROCEDURE_QUALIFIER sysname Prosedür niteleyici adı. Bu sütun şöyle olabilir: NULL.
PROCEDURE_OWNER sysname İşlem sahibinin adı. Bu sütun her zaman bir değer döndürür.
PROCEDURE_NAME nvarchar(134) Yordam adı. Bu sütun her zaman bir değer döndürür.
NUM_INPUT_PARAMS int Gelecekte kullanım için ayrılmıştır.
NUM_OUTPUT_PARAMS int Gelecekte kullanım için ayrılmıştır.
NUM_RESULT_SETS int Gelecekte kullanım için ayrılmıştır.
REMARKS varchar(254) İşlemin açıklaması. SQL Server bu sütun için bir değer döndürmez.
PROCEDURE_TYPE smallint Prosedür türü. SQL Server her zaman 2.0 döndürür. Bu değer aşağıdaki seçeneklerden biri olabilir:

0 = SQL_PT_UNKNOWN
1 = SQL_PT_PROCEDURE
2 = SQL_PT_FUNCTION

Açıklamalar

Maksimum birlikte çalışabilirlik için, gateway istemcisi yalnızca SQL standart desen eşleştirmesini, yani yüzde (%) ve alt çizgi (_) joker karakterlerini varsaymalıdır.

Mevcut kullanıcı için belirli bir depolanmış prosedüre erişim çalıştırma izni bilgileri mutlaka kontrol edilmez; Bu nedenle, erişim garanti değildir. Sadece üç bölümlü isimlendirme kullanılır. Bu, SQL Server karşısında çalıştırıldığında yalnızca yerel depolanmış prosedürlerin, uzaktan depolanan prosedürlerin (dört parçalı adlandırma gerektiren) değil, geri döndüğü anlamına gelir. Eğer sunucu özniteliği ACCESSIBLE_SPROC , için sonuç kümesinde sp_server_infoY ise, yalnızca mevcut kullanıcı tarafından çalıştırılabilen saklanan prosedürler döner.

sp_stored_procedures ODBC'deki eşdeğerdir SQLProcedures . Verilen sonuçlar , PROCEDURE_QUALIFIER, ve PROCEDURE_OWNERile PROCEDURE_NAMEsıralanır.

Permissions

Şema için izin gerekiyor SELECT .

Örnekler

A. Mevcut veritabanında saklanan tüm prosedürleri döndür

Aşağıdaki örnek, AdventureWorks2025 veritabanında saklanan tüm prosedürleri döndürür.

USE AdventureWorks2022;
GO

EXECUTE sp_stored_procedures;

B. Tek bir depolanmış prosedürü geri getir

Aşağıdaki örnek, saklanan uspLogError prosedür için bir sonuç kümesi döndürür.

USE AdventureWorks2022;
GO

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