首页 > 语言 > 关键词  > SQL最新资讯  > 正文

使用SQL Server 2008中对象相关性

2008-12-12 06:39 · 稿源:IT专家网

SQL Server的以前版本在跟踪对象相关性方面做的并不好。原因是所有的对象相关性都是由对象ID来跟踪的,这意味着对象一开始就必须存在。但是,通过根据对象名称来跟踪对象SQL Server 2008极大地扩展了跟踪对象的能力,而不用再依赖ID。该方法的好处是在一些对象已经从数据库中转移出去后,还可以继续跟踪对象,甚至在对象没有建立时也可以进行跟踪。

新管理对象

SQL Server 2008引进了两个新动态管理函数和新系统视图,用于跟踪对象相关性。这两个新对象包括Database Engine存储的有关相关性的信息,这些相关性是在创建、更改和放弃对象时建立的。在一个对象以名称的形式出现于存储在另一个对象中的SQL表达式中时,一个相关性就会在两个对象之间创建。在表达式中出现的对象称为被引用实体,而包含SQL表达式的对象称为引用实体。

sys.sql_expression_dependencies

本视图含有当前数据库中用户定义的一个对象的每个相关性的一个记录。这些用户定义的对象可以是存储在当前数据库中的对象,或者存储在不同数据库中并利用部分命名规则(databasename.schemaname.objectname)被引用的对象,在不同的服务器上并使用四部分命名规则(servername.databasename.schemaname.objectname)通过链接服务器被引用的对象,以及在特定对象创建时不存在的对象(称为延迟对象)。

sys.dm_sql_referenced_entities

用户在定义特定引用实体时,本函数为通过名称引用的每个用户定义的对象返回一个行,例如,如果视图vw_SampleView引用表Table1 的Field1、 Field2和 Field3,则将返回四行,针对被引用字段返回三行,针对表引用返回一行。

sys.dm_sql_referencing_entities

该函数为用户在当前数据库中定义的每个对象返回一个记录,这些对象通过名称引用另一个用户定义的对象。例如,如果视图vw_SampleView引用Table1 和 Table2,则该函数返回两个记录,针对每个表引用返回一个记录。

举例

以下示例显示了如何通过创建一些对象和查询新DMV在数据库内部跟踪相关性。利用下边的脚本创建名称为SalesHistory的表:

以下为引用的内容:

  CREATE TABLE [dbo].[SalesHistory](
  [SaleID] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED,

  [Product] [char](150) NULL,

  [SaleDate] [datetime] NULL,

  [SalePrice] [money] NULL

  )

在下边的脚本中,创建了名称为dbo.usp_GetSales的存储的过程,该过程引用在以上脚本中创建的SalesHistory表:

以下为引用的内容:

      CREATE PROCEDURE dbo.usp_GetSales
  (

  @Product VARCHAR(10)

  )

  AS

  BEGIN

  SELECT COUNT(SaleID) AS SalesCount, SUM(SalePrice) AS SalesAmount

  FROM dbo.SalesHistory sh

  END

举报

  • 相关推荐
  • 中国移动推出“86NEXT”AI产品 将在10086率先应用

    中国移动在全球合作伙伴大会上发布了名为“86NEXT”的新产品,这是一款以大模型为代表的创新AI技术,将在10086中率先应用。“86NEXT”通过一流的智能服务体系提升用户体验与满意度。作为AI助手,它能智能生产用户的会话摘要,辅助客服人员提高工作效率。

  • 茅台卖给瑞幸8吨酒仅获利2000万 利润不大

    之前茅台与瑞幸联名销售酱香拿铁十分火爆,在线上线下赚足了眼球。虽然瑞幸宣布与茅台合作,但茅台实际上只卖给瑞幸8吨的酱香拿铁仅获得2000万元的利润。虽然联名产品对贵州茅台整体营收影响不大,但在年轻化市场中取得成功,如酱香拿铁成为爆款产品,仍然具有一定意义。

  • 苹果零售店员工今年平均涨薪4% 还能获得2000美元限制股票

    苹果公司的零售店员工和AppleCare技术支持顾问在今年的加薪中只能得到2%-5%的涨幅,这比疫情期间苹果给予的加薪水平要低得多。每年的加薪率大约是4%,加薪是根据秋季的员工评估结果定。库克在2023年的薪酬被削减了40%。

  • 特斯拉宣布重要里程碑:4680电池产量突破2000万块

    当地时间周三,特斯拉宣布了一个重要里程碑,即该公司位于得克萨斯州的超级工厂生产了第2000万块4680电池。4680电池是特斯拉从头开始设计的一款新型电池,直径为46mm,长度为80mm,功率输出提升了6倍,续航里程提升了16%,每千瓦时的成本下降了14%。按照65kWh的单个电池组容量计算,这将足以每周生产1200多辆汽车。

  • 马云昔日金主一夜赚了2000亿 伯乐的回报来了

    2023年9月,全球芯片IP巨头Arm在美国纳斯达克成功上市,软银集团通过这笔交易获得了约2000亿人民币的丰厚回报。这个结果不仅帮助软银集团止血回暖,也让马云收获了巨大成功。Arm上市预示着新一轮科技革命和产业变革即将到来,马云也将继续在科技创新的浪潮中占据重要一席之地。

  • 里程碑!特斯拉宣布得州工厂4680电芯产量破2000

    特斯拉官方今日宣布,第2000万颗4680电池电芯已在美国得克萨斯州超级工厂下线,解锁新成就。今年6月17日,特斯拉第1000万颗4680电池电芯量产,历时约16周达到2000万,该阶段平均产能约在8.55万/天左右。4680最大的好处不是提高性能是节省成本,从提高利润,也能侧面降低售价。

  • “鸿星尔克”告“鸿红星尔克”侵权 后被被判赔偿20000

    近日,西安市灞桥区人民法院依法审理了一起侵害商标专用权纠纷案。2020年12月14日,鸿星尔克公司委托代理人登录某宝网,浏览网页时发现一家名为“鸿红星尔克”的网店销售“鸿星尔克”系列产品。判决作出后,双方均未提起上诉。

  • 13岁男孩花318元烫发 家长觉得太贵:最后协商店家退了200

    13岁男孩在理发店烫发被收318元,家长得知后觉得太贵。理发店回应称,男孩自己一个人来的,烫发也是他自己选的,399打八折318元,当时没看出年龄。父母是避免未成年人非理性消费的第一责任人,父母在尊重未成年人隐私权、适度自主权的前提下,应教会他们树立正确的消费观念,防范消费风险,加强对孩子消费的引导、监督,合理控制孩子的零用钱。

  • 小红书博主用AI生成电商模特图赚到2000

    小红书摄影博主“知影Studio”分享了他用AI创作的成功案例,为电商领域带来了一条爆款应用。一位家政客户需要拍摄电商形象照,但预算有限,于是他决定使用AI来创作图像。随着AI技术的广泛应用,电商领域还有潜力为用户提供更多多样化和创新的内容。

  • 4080 Ti要杀到!消息称英伟达将对RTX 4080大降价:7000元以下买吗?

    如果英伟达准备推出RTX4080Ti,那么4080降价就是必然。这款新显卡可能是GeForceRTX4080S,也可能是RTX4080Ti,据悉,新款NVIDIAGeForceRTX4080Ti显卡将基于AD102GPU核心,实际功耗大约在380-420W之间,显存也可能升级为320位接口和20GBVRAM,就是缩小RTX4080和RTX4090之间的差距。最近的降价最终可能会帮助推动一些产品,但降价力度一般,所以也没掀起多大的浪花,不知道这波会不会有所改观。