sp_depends (Transact-SQL)
适用于:SQL Server
显示有关数据库对象依赖关系的信息,例如,依赖于表或视图的视图和过程,以及视图或过程所依赖的表和视图。 不会报告对当前数据库外部对象的引用。
重要
在 SQL Server的未来版本中将删除此功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 请改用 sys.dm_sql_referencing_entities 和 sys.dm_sql_referenced_entities 。
语法
sp_depends [ @objname = ] N'objname'
<objname> ::=
{
[ database_name. [ schema_name ] . | schema_name. ]
object_name
}
[ ; ]
参数
[ @objname = ] N'objname'
@objname为 nvarchar(776),没有默认值。
database_name
数据库的名称。
schema_name
对象所属的架构的名称。
object_name
要检查依赖项的数据库对象。 该对象可以是表、视图、存储过程、用户定义函数或触发器。 object_name为 nvarchar(776),没有默认值。
返回代码值
0
(成功)或 1
(失败)。
结果集
sp_depends
显示两个结果集。
以下结果集显示@objname所依赖的对象。
列名称 | 数据类型 | 描述 |
---|---|---|
name |
nvarchar(257) | 存在依赖项的项名称。 |
type |
nvarchar(16) | 项目的类型。 |
updated |
nvarchar(7) | 指定项是否已更新。 |
selected |
nvarchar(8) | 指定项是否在语句中使用 SELECT 。 |
column |
sysname | 存在依赖项的列或参数。 |
以下结果集显示依赖于 @objname的对象。
列名称 | 数据类型 | 描述 |
---|---|---|
name |
nvarchar(257) | 存在依赖项的项名称。 |
type |
nvarchar(16) | 项目的类型。 |
权限
要求 公共 角色具有成员身份。
示例
A. 列出表的依赖项
以下示例列出在 AdventureWorks2022
数据库中依赖于 Sales.Customer
表的数据库对象。 同时指定了架构名和表名。
USE AdventureWorks2022;
GO
EXEC sp_depends @objname = N'Sales.Customer';
B. 列出触发器的依赖项
以下示例列出 iWorkOrder
触发器所依赖的数据库对象。
EXEC sp_depends @objname = N'AdventureWorks2022.Production.iWorkOrder';