Share via


sp_helptext (Transact-SQL)

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

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

Transact-SQL 語法慣例

語法

sp_helptext
    [ @objname = ] N'objname'
    [ , [ @columnname = ] N'columnname' ]
[ ; ]

引數

[ @objname = ] N'objname'

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

[ @columnname = ] N'columnname'

要顯示定義資訊之計算數據行的名稱。 @columnname為 sysname 預設值為 NULL。 包含數據行的數據表必須指定為 @objname

傳回碼值

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)))