You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

sys.sql_expression_dependencies是否仅覆盖对象定义内依赖,排除键/关系引用?

关于sys.sql_expression_dependencies的依赖范围说明

是的,sys.sql_expression_dependencies仅追踪对象定义内部直接引用的依赖关系,完全排除表之间的键约束、外键关联这类数据库层面的关系依赖。

举个例子:当你创建视图v_a时,定义里引用了t_a和t_b,查询这个系统视图只会返回v_a到t_a、v_a到t_b的依赖记录,不会出现t_a与t_b之间的键/关系依赖条目。

它主要追踪的是可编程对象(视图、存储过程、用户定义函数、触发器等)的SQL定义里明确写出的引用,比如:

  • 视图SELECT语句中用到的表、视图
  • 存储过程里调用的函数、访问的表
  • 自定义函数里引用的其他对象

而以下这类依赖不会被它涵盖:

  • 表之间的外键约束关联
  • 主键与外键的关系
  • 非函数定义的默认约束、检查约束关联的对象
  • 数据库层面的其他非定义内的关联关系

如果要查询某个视图的依赖,可以用类似下面的SQL语句:

SELECT 
    referencing_schema_name AS 引用对象架构名,
    referencing_entity_name AS 引用对象名,
    referenced_schema_name AS 被引用对象架构名,
    referenced_entity_name AS 被引用对象名
FROM sys.sql_expression_dependencies
WHERE referencing_entity_name = 'v_a';

内容的提问来源于stack exchange,提问作者Dan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 05:12:38