sp_stored_procedures (T-SQL)

Berlaku untuk: SQL Server (semua versi yang didukung) Azure SQL Managed Instance Database Azure SQL

Mengembalikan daftar prosedur tersimpan di lingkungan saat ini.

tautan topikIkon Konvensi Sintaks Transact-SQL

Sintaks

  
sp_stored_procedures [ [ @sp_name = ] 'name' ]   
    [ , [ @sp_owner = ] 'schema']   
    [ , [ @sp_qualifier = ] 'qualifier' ]  
    [ , [@fUsePattern = ] 'fUsePattern' ]  

Argumen

[ @sp_name = ] 'name' Adalah nama prosedur yang digunakan untuk mengembalikan informasi katalog. nama adalah nvarchar(390), dengan default NULL. Pencocokan pola kartubebas didukung.

[ @sp_owner = ] 'schema' Adalah nama skema tempat prosedur berada. skema adalah nvarchar(384), dengan default NULL. Pencocokan pola kartubebas didukung. Jika pemilik tidak ditentukan, aturan visibilitas prosedur default dari DBMS yang mendasar berlaku.

Dalam SQL Server, jika skema saat ini berisi prosedur dengan nama yang ditentukan, prosedur tersebut dikembalikan. Jika prosedur tersimpan yang tidak memenuhi syarat ditentukan, Mesin Database mencari prosedur dalam urutan berikut:

  • Skema sys dari database saat ini.

  • Skema default penelepon jika dijalankan dalam batch atau di SQL dinamis; atau, jika nama prosedur yang tidak memenuhi syarat muncul di dalam isi definisi prosedur lain, skema yang berisi prosedur lain ini akan dicari berikutnya.

  • Skema dbo dalam database saat ini.

[ @qualifier = ] 'qualifier' Adalah nama kualifikasi prosedur. qualifier adalah sysname, dengan default NULL. Berbagai produk DBMS mendukung penamaan tiga bagian untuk tabel dalam bentuk (kualifikasi.skema.nama. Dalam SQL Server, pengualifikasi mewakili nama database. Dalam beberapa produk, ini mewakili nama server lingkungan database tabel.

[ @fUsePattern = ] 'fUsePattern' Menentukan apakah garis bawah (_), persen (%), atau tanda kurung [ ]) ditafsirkan sebagai karakter kartubebas. fUsePatternadalah bit, dengan default 1.

0 = Pencocokan pola nonaktif.

1 = Pencocokan pola aktif.

Mengembalikan Nilai Kode

Tidak ada

Tataan Hasil

Nama kolom Jenis data Deskripsi
PROCEDURE_QUALIFIER nama sysname Nama kualifikasi prosedur. Kolom ini bisa NULL.
PROCEDURE_OWNER nama sysname Nama pemilik prosedur. Kolom ini selalu mengembalikan nilai.
PROCEDURE_NAME nvarchar(134) Nama prosedur. Kolom ini selalu mengembalikan nilai.
NUM_INPUT_PARAMS int Disiapkan untuk penggunaan masa mendatang.
NUM_OUTPUT_PARAMS int Disiapkan untuk penggunaan masa mendatang.
NUM_RESULT_SETS int Disiapkan untuk penggunaan masa mendatang.
KOMENTAR varchar(254) Deskripsi prosedur. SQL Server tidak mengembalikan nilai untuk kolom ini.
PROCEDURE_TYPE smallint Jenis prosedur. SQL Server selalu mengembalikan 2.0. Nilai ini bisa menjadi salah satu dari berikut ini:

0 = SQL_PT_UNKNOWN

1 = SQL_PT_PROCEDURE

2 = SQL_PT_FUNCTION

Keterangan

Untuk interoperabilitas maksimum, klien gateway hanya boleh mengasumsikan pencocokan pola standar SQL (persen (%) dan karakter kartubebas garis bawah (_).

Informasi izin tentang menjalankan akses ke prosedur tersimpan tertentu untuk pengguna saat ini belum tentu diperiksa; oleh karena itu, akses tidak dijamin. Perhatikan bahwa hanya penamaan tiga bagian yang digunakan. Ini berarti bahwa hanya prosedur tersimpan lokal, bukan prosedur tersimpan jarak jauh (yang memerlukan penamaan empat bagian), yang dikembalikan ketika dijalankan terhadap SQL Server. Jika atribut server ACCESSIBLE_SPROC adalah Y dalam hasil yang ditetapkan untuk sp_server_info, hanya prosedur tersimpan yang dapat dijalankan oleh pengguna saat ini yang dikembalikan.

sp_stored_procedures setara dengan SQLProcedures di ODBC. Hasil yang dikembalikan diurutkan berdasarkan PROCEDURE_QUALIFIER, PROCEDURE_OWNER, dan PROCEDURE_NAME.

Izin

Memerlukan izin SELECT pada skema.

Contoh

A. Mengembalikan semua prosedur tersimpan dalam database saat ini

Contoh berikut mengembalikan semua prosedur tersimpan dalam database AdventureWorks2019.

USE AdventureWorks2012;  
GO  
EXEC sp_stored_procedures;  

B. Mengembalikan satu prosedur tersimpan

Contoh berikut mengembalikan tataan hasil untuk prosedur tersimpan uspLogError .

USE AdventureWorks2012;  
GO  
sp_stored_procedures N'uspLogError', N'dbo', N'AdventureWorks2012', 1;  

Lihat juga

Prosedur Tersimpan Katalog (Transact-SQL)
Prosedur Tersimpan Sistem (Transact-SQL)