首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2005 一分鐘列出所有預存程序:sys.all_objects 系統檢視表最佳實踐

     編輯:關於SqlServer

想找資料庫中所有預存程序 (含文件化、未文件化、使用者自訂)?不用上網搜尋,直接查詢系統檢視表 sys.all_objects 即可在一分鐘內獲得完整清單。

最佳查詢

USE [YourDatabaseName];
GO
SELECT * FROM sys.all_objects
WHERE [type] IN ('P', 'X', 'PC')  -- P=SQL預存程序, X=擴充預存程序, PC=CLR預存程序
ORDER BY [name];
GO

為何不推薦 sys.procedures 或 sp_stored_procedures?

  • sys.procedures 會過濾掉部分系統預存程序
  • sp_stored_procedures 同樣有回傳限制
  • 實測 sys.all_objects 最完整,涵蓋所有類型

type 欄位代碼對照

type意義
PSQL 預存程序
X擴充預存程序
PCCLR 預存程序
FN純量函數
TF資料表值函數
V檢視表
U使用者資料表

依需求調整 WHERE 子句即可查詢不同物件類型。

預存程序自動部署機制

  • 微軟提供的系統預存程序儲存在 master 資料庫
  • 建立新資料庫時,master 作為模板,系統物件自動複製
  • 若想讓自訂預存程序自動出現在新資料庫,直接在 master 中建立;既有資料庫仍需手動部署
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved