sp_depends (Transact-SQL)

適用於:SQL Server

顯示資料庫物件相依性的相關信息,例如相依於數據表或檢視表的檢視和程式,以及檢視或程式相依的數據表和檢視表。 不會報告目前資料庫外部對象的參考。

重要

SQL Server 的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用 sys.dm_sql_referencing_entitiessys.dm_sql_referenced_entities

Transact-SQL 語法慣例

語法

  
sp_depends [ @objname = ] '<object>'   
  
<object> ::=  
{  
    [ database_name. [ schema_name ] . | schema_name.  
    object_name  
}  

引數

database_name
這是資料庫的名稱。

schema_name
這是物件所屬的架構名稱。

object_name
這是要檢查相依性的資料庫物件。 物件可以是數據表、檢視表、預存程式、使用者定義函數或觸發程式。 object_namenvarchar(776),沒有預設值。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

sp_depends顯示兩個結果集。

下列結果集顯示物件>相依的物件<。

資料行名稱 資料類型 描述
name nvarchar(257 相依性所在的項目名稱。
type nvarchar(16) 項目的類型。
更新 nvarchar(7) 是否更新專案。
已選取 nvarchar(8) 專案是否用於 SELECT 語句。
column sysname 相依性所在的數據行或參數。

下列結果集顯示相 <依於 物件的物件>

資料行名稱 資料類型 描述
name nvarchar(257 相依性所在的項目名稱。
type nvarchar(16) 項目的類型。

權限

需要 public 角色的成員資格。

範例

A. 列出數據表的相依性

下列範例會列出相依於 Sales.Customer 資料庫中數據表 AdventureWorks2022 的資料庫物件。 同時指定架構名稱和數據表名稱。

USE AdventureWorks2022;  
GO  
EXEC sp_depends @objname = N'Sales.Customer' ;  

B. 列出觸發程式上的相依性

下列範例會列出觸發程式 iWorkOrder 相依的資料庫物件。

EXEC sp_depends @objname = N'AdventureWorks2022.Production.iWorkOrder' ;  

另請參閱

資料庫引擎 預存程式 (Transact-SQL)
EXECUTE (Transact-SQL)
sp_help (Transact-SQL)
系統預存程序 (Transact-SQL)
sys.sql_dependencies (Transact-SQL)