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