使用SQL Server 2008中对象相关性(2)
作者:包春林 来源:IT专家网 发布时间:2008-12-12 06:36:00
下边的脚本使用表值函型数sys.dm_sql_referenced_returns寻找所有引用SalesHistory表的对象。这一查询不但返回SalesHistory表的引用,还包含被引用的SalesHistory表中的字段。值得注意的是CROSS APPLY操作符的使用,这是因为实体是表值型函数,而且在将字段值赋予表值型函数时需要APPLY操作符。还要注意,如果遇到引用一个不存在的实体字段, 对sys.dm_referenced_entities函数的调用会出错:
SELECT ReferencedEntityName = o.name, g.referenced_entity_name, referenced_minor_name
FROM sys.objects o
JOIN sys.schemas s on o.schema_id = s.schema_id
CROSS APPLY sys.dm_sql_referenced_entities(s.name + '.' + o.name, 'OBJECT') g
WHERE referenced_entity_name = 'SalesHistory'
在下边的脚本中,创建了一个新的名称为usp_GetSalesFromArchive的存储的过程,该过程引用不存在的SalesHistoryArchive 表
CREATE PROCEDURE usp_GetSalesFromArchive
(
@Product VARCHAR(10)
)
AS
BEGIN
SELECT COUNT(SaleArchiveID) AS SalesCount, SUM(SaleArchivePrice) AS SalesAmount
FROM dbo.SalesHistoryArchive sh
END
现在可以利用 sys.sql_expression_dependencies系统视图寻找引用SalesHistoryArchive 表的任何对象。
或者,可以稍微改变该查询来寻找存储的过程usp_GetSalesFromArchive引用的表.
SELECT ReferencingObject = o.name ,
ReferencedObject = d.referenced_entity_name
FROM sys.sql_expression_dependencies d
join sys.objects o on d.referencing_id = o.object_id
WHERE o.name = 'usp_GetSalesFromArchive'
结论
通过对象名称而不是对象ID跟踪相关性拥有诸多好处。用户可能喜欢寻找存储的过程,该过程引用并不存在的对象,因为这帮助用户寻找不再使用或需要更新的任何存储的过程。


猜你喜欢
- MHA(Master HA)是一款开源的 MySQL 的高可用程序,它为 MySQL 主从复制架构提供了 automating master
- 安装方法1)、apt-ge安装sudo apt-get install Flask-SQLAlchemy2)、下载安装包进行安装# 安装后可
- 成果库修改: 要求主题列表随成果类型改变而改变  
- 本文实例讲述了Python面向对象之多态原理与用法。分享给大家供大家参考,具体如下:目标多态面向对象三大特性封装 根据 职责 将 属性 和
- 又是一杯奶茶~事情的经过是这样的:又是奶茶,行吧行吧。快点开工,争取李大伟回来之前搞定。李大伟说是6位数字密码那么我们可以利用python生
- 以下内容给大家介绍了MYSQL通过Adjacency List (邻接表)来存储树形结构的过程介绍和解决办法,并把存储后的图例做了分析。今天
- 第一个方法: MySQL 4.1 中文乱码的问题 最近要将 MySQL 4.0 升级到 MySQL 4.1 ,发现了中文乱码的问题,希望以下
- 在删除每个字典的时候有些方法和删除其他拥有独立内存的数据使用的方法是一样的,比如del,直接清空内存,clear()是值清除变量值。字典的删
- 本文实例为大家分享了python使用webdriver爬取微信公众号的具体代码,供大家参考,具体内容如下# -*- coding: utf-
- 我和朋友对此的看法有分歧,我明明记得有不需要返回的时候的?你的看法是对的,例如在表中删除记录。我们来看看下面的例子——在Employee表中
- 当前的调试部分可以使用 go run filename.go 来执行。可以生成一个 build.sh 脚本,用于在指定位置产生已编译好的 可
- 本文实例讲述了js实现适用于素材网站的黑色多级菜单导航条效果。分享给大家供大家参考。具体如下:这是一款适用于素材网站的黑色多级菜单导航条,无
- 本文实例讲述了Python实现字典排序、按照list中字典的某个key排序的方法。分享给大家供大家参考,具体如下:1.给字典按照value按
- 目录1. 关联规则1.1 基本概念1.2 关联规则Apriori算法2. mlxtend实战关联规则2.1 安装2.2 简单的例子3. 总结
- websocketWebsocket只是一个网络通信协议就像 http、ftp等都是网络通信的协议;不要多想;相对于HTTP这种非持久的协议
- flatten()函数用法flatten是numpy.ndarray.flatten的一个函数,即返回一个一维数组。flatten只能适用于
- 前言在对着产品高举中指怒发心中之愤后,真正能够解决问题的是自身上的改变,有句话说的好:你虽然改变不了全世界,但是你有机会改变你自己。秉承着“
- title: Python 装饰器装饰类中的方法comments: truedate: 2017-04-17 20:44:31tags: [
- 一级行政区经纬度一级行政区(省级行政区):34个(23个省、5个自治区、4个直辖市、2个特别行政区)provinces = {
- 一、 软件配置安装必备爬虫环境软件:python 3.8pip install requestspip install beautifuls