sp_helptext (Transact-SQL)

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體

顯示使用者定義規則、預設、未加密的 Transact-SQL 預存程式、使用者定義 Transact-SQL 函數、觸發程式、計算資料行、CHECK 條件約束、檢視或系統物件的定義,例如系統預存程式。

Transact-SQL 語法慣例

語法

sp_helptext [ @objname = ] 'name' [ , [ @columnname = ] computed_column_name ]  

引數

[ @objname = ] 'name' 這是使用者定義、架構範圍物件的限定或非限定名稱。 只有在指定限定的物件時,才需要引號。 如果提供完整名稱,包括資料庫名稱,資料庫名稱必須是目前資料庫的名稱。 物件必須位於目前的資料庫中。 name Nvarchar(776) ,沒有預設值。

[ @columnname = ] 'computed_column_name' 這是要顯示定義資訊之計算資料行的名稱。 包含資料行的資料表必須指定為 名稱 column_name為 sysname ,沒有預設值。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

資料行名稱 資料類型 描述
Text nvarchar(255) 物件定義

備註

sp_helptext會顯示用來在多個資料列中建立物件的定義。 每個資料列都包含 Transact-SQL 定義的 255 個字元。 定義位於 definition sys.sql_modules 目錄檢視的資料 行中。

注意

Azure Synapse Analytics 中不支援系統預存程序 sp_helptext。 請改用 OBJECT_DEFINITION 系統函式或 sys.sql_modules 物件目錄檢視來取得對等的結果。

權限

需要 public 角色的成員資格。 系統物件定義是公開顯示的。 凡具有 ALTERCONTROLTAKE OWNERSHIPVIEW DEFINITION 任一權限的物件擁有者或被授與者,都看得到使用者物件的定義。

範例

A. 顯示觸發程式的定義

下列範例會顯示資料庫中觸發 dEmployeeAdventureWorks2022 程式的定義。

USE AdventureWorks2022;  
GO  
EXEC sp_helptext 'HumanResources.dEmployee';  
GO  

B. 顯示計算資料行的定義

下列範例會顯示資料庫中資料表 AdventureWorks2022SalesOrderHeader 計算資料行 TotalDue 的定義。

USE AdventureWorks2022;  
GO  
sp_helptext @objname = N'AdventureWorks2022.Sales.SalesOrderHeader', @columnname = TotalDue ;  
GO  

以下為結果集。

Text

---------------------------------------------------------------------

(isnull(([SubTotal]+[TaxAmt])+[Freight],(0)))

另請參閱

Database Engine 預存程式 (Transact-SQL)
OBJECT_DEFINITION (Transact-SQL)
sp_help (Transact-SQL)
sys.sql_modules (Transact-SQL)
系統預存程序 (Transact-SQL)