sp_stored_procedures (T-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Mengembalikan daftar prosedur tersimpan di lingkungan saat ini.

Konvensi sintaks transact-SQL

Sintaks

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

Argumen

[ @sp_name = ] N'sp_name'

Nama prosedur yang digunakan untuk mengembalikan informasi katalog. @sp_name adalah nvarchar(390), dengan default NULL. Pencocokan pola kartubebas didukung.

[ @sp_owner = ] N'sp_owner'

Nama skema tempat prosedur berada. @sp_owner adalah nvarchar(384), dengan default NULL. Pencocokan pola kartubebas didukung. Jika @sp_owner tidak ditentukan, aturan visibilitas prosedur default dari sistem manajemen database (DBMS) yang mendasar berlaku.

Di 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:

  • sys Skema database saat ini.

  • Skema default pemanggil 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.

  • dbo Skema dalam database saat ini.

[ @sp_qualifier = ] N'sp_qualifier'

Nama kualifikasi prosedur. @sp_qualifier adalah sysname, dengan default NULL. Berbagai produk DBMS mendukung penamaan tiga bagian untuk tabel dalam bentuk <qualifier>.<schema>.<name>. Di SQL Server, @sp_qualifier mewakili nama database. Dalam beberapa produk, ini mewakili nama server lingkungan database tabel.

[ @fUsePattern = ] fUsePattern

Menentukan apakah garis bawah (_), persen (%), atau tanda kurung siku ([ dan ]) ditafsirkan sebagai karakter kartubebas. @fUsePattern adalah 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 berupa 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.
REMARKS 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 opsi berikut:

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, yaitu karakter wildcard persen (%) dan garis bawah (_).

Informasi izin tentang menjalankan akses ke prosedur tersimpan tertentu untuk pengguna saat ini belum tentu diperiksa; oleh karena itu, akses tidak dijamin. 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 ACCESSIBLE_SPROC server 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 oleh PROCEDURE_QUALIFIER, PROCEDURE_OWNER, dan PROCEDURE_NAME.

Izin

SELECT Memerlukan izin pada skema.

Contoh

J. Mengembalikan semua prosedur tersimpan dalam database saat ini

Contoh berikut mengembalikan semua prosedur tersimpan dalam database AdventureWorks2022.

USE AdventureWorks2022;
GO
EXEC sp_stored_procedures;

B. Mengembalikan satu prosedur tersimpan

Contoh berikut mengembalikan tataan hasil untuk prosedur tersimpan uspLogError .

USE AdventureWorks2022;
GO

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