sp_helptext (Transact-SQL)
顯示使用者自訂規則定義、預設值、未加密的 Transact-SQL 預存程序、使用者自訂的 Transact-SQL 函數、觸發程序、計算資料行、CHECK 條件約束、檢視,或系統預存程序之類的系統物件。
語法
sp_helptext [ @objname = ] 'name' [ , [ @columnname = ] computed_column_name ]
引數
[@objname = ] 'name'
這是使用者自訂、結構描述範圍物件的限定或非限定名稱。只有在指定限定物件時,才會用到引號。如果提供其中包括資料庫名稱的完整名稱,資料庫名稱就必須是目前資料庫的名稱。這個物件必須在目前的資料庫中。name 是 nvarchar(776),沒有預設值。[@columnname = ] 'computed_column_name'
這是要顯示定義資訊的計算資料行名稱。包含該資料行的資料表,必須指定為 name。column_name 是 sysname,沒有預設值。
傳回碼值
0 (成功) 或 1 (失敗)
結果集
資料行名稱 |
資料類型 |
描述 |
---|---|---|
Text |
nvarchar(255) |
物件定義 |
備註
sp_helptext 會顯示在多個資料列中建立物件所用的定義。每一個資料列都包含 255 個字元的 Transact-SQL 定義。這個定義位在 sys.sql_modules 目錄檢視的 definition 資料行中。
權限
需要 public 角色中的成員資格。系統物件定義是公開顯示的。凡具有 ALTER、CONTROL、TAKE OWNERSHIP 或 VIEW DEFINITION 任一權限的物件擁有者或被授與者,都看得到使用者物件的定義。
範例
A. 顯示觸發程序的定義
下列範例會顯示 AdventureWorks 資料庫中的 uBillOfMaterials 觸發程序定義。
USE AdventureWorks;
GO
EXEC sp_helptext 'Production.uBillOfMaterials';
GO
B. 顯示計算資料行的定義
下列範例會顯示 AdventureWorks 資料庫中的 SalesOrderHeader 資料表的計算資料行 TotalDue 的定義。
USE AdventureWorks;
GO
sp_helptext @objname = N'AdventureWorks.Sales.SalesOrderHeader', @columnname = TotalDue ;
GO
以下為結果集:
Text
--------------------------------------------
(isnull(([SubTotal]+[TaxAmt])+[Freight],(0)))