如何利用 T-SQL 查看 SQL Server 物件的定義

本文將介紹如何利用 T-SQL 查看 SQL Server 物件的定義。

當您在 SQL Server 中建立部分種類資料庫物件後,若要查看其定義除了透過 SSMS 外,也可透過 OBJECT_DEFINITION 函數來查看物件的定義,該函數只能適用於下列類型的資料庫物件:

C - 檢查約束條件
(Check constraint)
D - 預設值
(Default)
P - 預存程序
(SQL stored procedure)
FN - SQL 純量函數
(SQL scalar function)
R - 規則
(Rule)
RF - 複寫篩選程序
(Replication filter procedure)
TR - SQL 觸發程序
(SQL trigger)
IF - SQL 嵌入資料表值函數
(SQL inline table-valued function)
TF - SQL 資料表值函數
(SQL table-valued function)
V - 檢視
(View)
   

有關 OBJECT_DEFINITION 函數的語法如下:


OBJECT_DEFINITION ( object_id )

使用該函數必須傳入上述物件的 Object ID,因此您可以搭配 Object_ID 函數來取的 Ojbect ID,或是搭配 sys.objects 系統目錄檢視來查看資料庫物件的的定義,例如下列的 T-SQL 程式碼:

   1:  use Northwind
   2:  go
   3:   
   4:  select name,type,type_desc,OBJECT_DEFINITION(object_id) as definition
   5:  from sys.objects
   6:  where type in ('C','D','P','FN','R','RF','TR','IF','TF','V')
   7:   
   8:  select OBJECT_DEFINITION(OBJECT_ID('Sales by Year'))

執行結果:

image

補充說明:

您也可以利用 sp_helptext 系統預存程序來查看資料庫物件的定義。

【參考資料】