Permintaan apa yang dapat mengembalikan nama semua prosedur yang tersimpan dalam database SQL Server
Jika kueri bisa mengecualikan prosedur tersimpan sistem, itu akan lebih bermanfaat.
sql-server
tsql
p.campbell
sumber
sumber
sumber
dbo.sys*
pandangan. Kueri ini juga: memfilter prosedur tersimpan CLR, tidak memfilter procs sistem yang tersimpan, dan mengembalikan [tipe] ketika diketahui bahwa [tipe] akan selalu menjadi 'P' karena ini adalah kondisi WHERE.Dari pemahaman saya metode "disukai" adalah dengan menggunakan tabel information_schema:
sumber
Berikut ini akan Mengembalikan Semua Prosedur dalam database yang dipilih
sumber
Anda dapat mencoba kueri ini untuk mendapatkan prosedur dan fungsi yang tersimpan:
sumber
Jika Anda menggunakan SQL Server 2005 yang berikut ini akan berfungsi:
sumber
Anda dapat menggunakan salah satu pertanyaan di bawah ini untuk menemukan daftar Prosedur Tersimpan dalam satu database:
Pertanyaan1:
Pertanyaan2:
Jika Anda ingin menemukan daftar semua SP di semua Database Anda dapat menggunakan kueri di bawah ini:
sumber
Pilih Semua Prosedur dan Tampilan yang Tersimpan
sumber
Ini juga dapat membantu untuk membuat daftar prosedur kecuali prosedur sistem:
sumber
sys.all_objects
karena Anda memfilteris_ms_shipped=0
. Itu bisa berisi Pemicu DDL, tetapi itu akan disaring olehtype='p'
. Anda mungkin juga menggunakannyasys.objects
.Sayangnya
INFORMATION_SCHEMA
tidak mengandung info tentang procs sistem.sumber
sys.procedures where is_ms_shipped = 0
? Dan mengapa Anda menjalankan fungsiobjectproperty(object_id, N'IsMSShipped')
untuk setiap baris ketika ada bidangis_ms_shipped
yang berisi nilai itu? Sepanjang garis yang sama, mengapa menjalankan fungsi itu lagi ketika[type] IN ('P', 'PC')
melakukan hal yang sama? Metode ini tidak perlu rumit dan tidak efisien.Hanya namanya saja:
sumber
Saya telah men-tweak posting LostCajun yang sangat baik di atas untuk mengecualikan prosedur yang tersimpan sistem. Saya juga menghapus "Ekstrak." dari kode karena saya tidak tahu untuk apa itu dan memberi saya kesalahan. Pernyataan "fetch next" di dalam loop juga membutuhkan klausul "menjadi".
sumber
cara terbaik untuk mendapatkan objek adalah menggunakan sys.sql_modules. Anda dapat menemukan setiap hal yang Anda inginkan dari tabel ini dan bergabung dengan tabel ini dengan tabel lain untuk mendapatkan informasi lebih lanjut dengan object_id
sumber
sumber
dbo.sys*
pandangan. Kueri ini juga memfilter prosedur tersimpan CLR.Saya menulis tsql sederhana ini untuk membuat daftar teks dari semua prosedur yang tersimpan. Pastikan untuk mengganti nama database Anda di bidang.
sumber
Ini hanya akan memberikan nama-nama prosedur yang tersimpan.
sumber
Ini akan menunjukkan semua prosedur tersimpan dan kode:
sumber
Ini, daftarkan semua hal yang Anda inginkan
Di Sql Server 2005, 2008, 2012:
ATAU
sumber
sp_tables
,. Juga, "PROSEDUR" bukan opsi yang valid untuksp_tables
. Satu-satunya pilihan@table_type
adalah: 'TABEL SISTEM', 'TABEL', dan 'LIHAT'.Ini akan mengembalikan semua nama sp
sumber
[type]
harus[type] IN ('P', 'PC')
lain Anda memfilter setiap proksi yang disimpan CLR yang berpotensi ada.Coba tautan codeplex ini, utilitas ini membantu melokalkan semua prosedur tersimpan dari basis data sql.
https://exportmssqlproc.codeplex.com/
sumber
sumber
Ini akan bekerja pada mssql.
sumber
Pilih daftar prosedur tersimpan di SQL server. Lihat di sini untuk lebih lanjut: https://coderrooms.blogspot.com/2017/06/select-list-of-stored-procedure-in-sql.html
sumber
PaymentDetails
tabel. OP menginginkan daftar prosedur tersimpan yang sebenarnya.