sp_helptext (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例

显示用户定义的规则、默认的、未加密的 Transact-SQL 存储过程、用户定义的 Transact-SQL 函数、触发器、计算列、CHECK 约束、视图或系统对象(如系统存储过程)的定义。

Transact-SQL 语法约定

语法

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

参数

[ @objname = ] 'name' 用户定义的架构范围的对象的限定名称或非限定名称。 仅当指定限定对象时才需要引号。 如果提供的是完全限定名称(包括数据库名称),则数据库名称必须是当前数据库的名称。 对象必须在当前数据库中。 namenvarchar (776) ,无默认值。

[ @columnname = ] 'computed_column_name' 要显示其定义信息的计算列的名称。 必须将包含该列的表指定为 名称column_namesysname,无默认值。

返回代码值

0(成功)或 1(失败)

结果集

列名称 数据类型 说明
文本 nvarchar(255) 对象定义

注解

sp_helptext 显示用于在多行中创建对象的定义。 每行包含 Transact-SQL 定义的 255 个字符。 定义位于definitionsys.sql_modules目录视图中的 列中。

注意

Azure Synapse Analytics 不支持系统存储过程 sp_helptext。 请改用 OBJECT_DEFINITION 系统函数或 sys.sql_modules 对象目录视图来获得等效的结果。

权限

要求 公共 角色具有成员身份。 系统对象定义对所有用户可见。 用户对象的定义对于对象所有者或具有下列任一权限的被授权者可见:ALTER、CONTROL、TAKE OWNERSHIP 或 VIEW DEFINITION 。

示例

A. 显示触发器的定义

以下示例将显示 AdventureWorks2022 数据库中的 dEmployee 触发器的定义。

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

B. 显示计算列的定义

以下示例将显示 AdventureWorks2022 数据库的 TotalDue 表中计算列 SalesOrderHeader 的定义。

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

下面是结果集。

Text

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

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

另请参阅

数据库引擎存储过程 (Transact-SQL)
OBJECT_DEFINITION (Transact-SQL)
sp_help (Transact-SQL)
sys.sql_modules (Transact-SQL)
系统存储过程 (Transact-SQL)