sp_depends (Transact-SQL)
顯示有關資料庫物件相依性的資訊,例如相依於資料表或檢視的檢視和程序,以及檢視或程序所相依的資料表或檢視。 不會報告對於目前資料庫外之物件的參考。
重要事項 |
---|
未來的 Microsoft SQL Server 版本將移除這項功能。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。請改用 sys.dm_sql_referencing_entities 和 sys.dm_sql_referenced_entities。 |
適用於:SQL Server (SQL Server 2008 至目前版本)。 |
語法
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 會顯示兩個結果集。
下列結果集會顯示 <object> 所相依的物件。
資料行名稱 |
資料類型 |
說明 |
---|---|---|
name |
nvarchar(257) |
相依性存在的項目名稱。 |
型別 |
nvarchar(16) |
項目的類型。 |
updated |
nvarchar(7) |
是否更新項目。 |
selected |
nvarchar(8) |
是否在 SELECT 陳述式中使用這個項目。 |
column |
sysname |
存在相依性的資料行或參數。 |
下列結果集會顯示相依於 <object> 的物件。
資料行名稱 |
資料類型 |
說明 |
---|---|---|
name |
nvarchar(257) |
相依性存在的項目名稱。 |
型別 |
nvarchar(16) |
項目的類型。 |
權限
需要 public 角色中的成員資格。
範例
A.列出對於資料表的相依性
下列範例會列出相依於 AdventureWorks2012 資料庫中 Sales.Customer 資料表的資料庫物件。 指定了結構描述名稱和資料表名稱。
USE AdventureWorks2012;
GO
EXEC sp_depends @objname = N'Sales.Customer' ;
B.列出對於觸發程序的相依性
下列範例列出 iWorkOrder 觸發程序相依的資料庫物件。
EXEC sp_depends @objname = N'AdventureWorks2012.Production.iWorkOrder' ;