(4.27)查看存储过程中的依赖关系

关键词:查看存储过程中引用的表,查看表在哪些存储过程中出现过

很多时候需要找到存储过程所依赖的对象。博客描述了一种在SQL服务器中查找存储过程依赖关系的方法。

以下查询创建存储过程。

1

2

3

4

5

6

7

8

9

10

11

IF object_id(‘usp_getpersonaddress‘) is not null

drop proc usp_getpersonaddress

GO

Create procedure usp_getpersonaddress

AS

SELECT pp.BusinessEntityID,pp.FirstName + ‘ ‘ + pp.LastName,

pa.AddressLine1,pa.City

FROM

Person.Person pp join Person.Address pa

ON pp.BusinessEntityID = pa.AddressID

GO

以下查询列出了usp_getpersonaddress过程所依赖的所有对象。

1

2

3

4

5

6

7

8

9

10

11

-- find dependency

SELECT referencing_id,OBJECT_SCHEMA_NAME ( referencing_id )

+ ‘.‘ +

OBJECT_NAME(referencing_id) AS referencing_object_name,

obj.type_desc AS referencing_object_type,

referenced_schema_name + ‘.‘ +

referenced_entity_name As referenced_object_name

FROM sys.sql_expression_dependencies AS sed

INNER JOIN sys.objects AS obj ON sed.referencing_id = obj.object_id

WHERE referencing_id =OBJECT_ID(‘usp_getpersonaddress‘)

GO

上述查询的输出如下所示。

    

2、查看与表相关的存储过程

  

SELECT DISTINCT objects.name, objects.type,
comments.text proc_defintion
FROM syscomments comments
INNER JOIN sys.objects objects
ON comments.id=objects.object_id
WHERE comments.text LIKE ‘%Person.Address%‘
AND objects.type=‘P‘

3、查看与列相关的存储过程

-- find stored procedure related to a column in database
SELECT DISTINCT objects.name, objects.type,
comments.text proc_defintion
FROM syscomments comments
INNER JOIN sys.objects objects
ON comments.id=objects.object_id
WHERE comments.text LIKE ‘%AddressID%‘
AND objects.type=‘P‘

原文地址:https://www.cnblogs.com/gered/p/10650419.html

时间: 2025-01-07 10:39:24

(4.27)查看存储过程中的依赖关系的相关文章

查看数据库对象的引用关系,查看数据库对象的依赖关系

转自:https://www.cnblogs.com/seusoftware/p/4858115.html 在SQL Server中,(可编程)对象间的引用即依赖关系,有多种方式可以检查,随着版本变更,方式也有所不同. 父子关系的对象,不通过依赖关系来查询,比如: 1. 外键关系 use tempdb GO --drop table tb1,tb2 create table tb1 ( col1 int Primary key, col2 int ) insert into tb1 values

如何查看存储过程中动态生成的sql

今天在工作中遇到那么一个需求,要查看存储过程中生成的sql,以便和实际的业务需求核对. 经过多方查询,想到如下办法: 1.在存储过程中凡是涉及到execute immediate mysql的地方,加上DBMS_OUTPUT.PUT_LINE(mysql);同时为了减少运行时间将execute immediate mysql注释. 2.如果因为mysql字符过长,报string buffer is too small,那么采用另外一种方式,事先定义v_pos Number := 1;然后通过以下

Maven查看JAR包的依赖关系

如果是用命令行,可进入项目所在目录,然后输入: mvn dependency:tree ,来查看jar包依赖关系. 另外还可以在eclipse操作,如下图所示: 点击run后,开始输出JAR包依赖树. 我在执行这步的时候报了下面的异常: Caused by: java.lang.ClassNotFoundException: org.sonatype.aether.graph.DependencyNode 在网上搜了好多地方都没有类似的错误,后来参考了一些帖子,怀疑是maven-dependen

easyui中的依赖关系

参考自:http://www.easyui.info/archives/765.html 在使用easyui的过程中发现各个组件直接存在依赖关系,也就是上层的复杂组件依赖于一个或者多个简单组件,复杂组件可以直接使用简单组件中的属性.方法及事件. 而这些依赖过来的属性.方法在文档里是找不到的,只有了解常用组件的底层组件才能更灵活的运用easyui. 本来打算缕着文档把各组件的依赖关系画出来,想想这种依赖关系应该有人总结好了,于是搜索了下,果不其然.如下图:

查看maven项目的依赖关系 mvn dependency:tree

查看maven项目的依赖,我们可以用下面命令: mvn dependency:tree 以Dubbo的 dubbo-demo-provider 为例,我们输入这个命令可以获得下面信息: mvn dependency:tree [INFO] Scanning for projects... [WARNING] [WARNING] Some problems were encountered while building the effective model for com.alibaba:dub

【框架】Controller与Service在框架中的依赖关系。

舶云:     hdd_boyun_pc,hdd_boyun_manager 都依赖hdd_boyun_service. 在hdd_boyun_pc,hdd_boyun_manager 的pom.xml文件中,都有 <dependencies> <dependency> <groupId>hdd_boyun</groupId> <artifactId>hdd_boyun_service</artifactId> <version

关于app.js和route.js和service.js还有controller.js中的依赖关系

2.只要是由路由去执行的的控制器模块,必须注入到app.js里面进行依赖,在页面上就不需要ng-controller在html页面上写了: 但是如果一个控制器模块,没有经过路由管理:那么就必须要,在页面上使用ng-controller='模块名',来告诉控制器可以管理这部分内容

Yum 查看某个软件的依赖关系

方法: yum deplist soft_name

13. 查看数据库对象间的依赖关系

在SQL Server中,(可编程)对象间的引用即依赖关系,有多种方式可以检查,随着版本变更,方式也有所不同. 父子关系的对象,不通过依赖关系来查询,比如: 1. 外键关系 use tempdb GO --drop table tb1,tb2 create table tb1 ( col1 int Primary key, col2 int ) insert into tb1 values (2,2),(3,2),(4,2),(5,2) GO create table tb2 ( col3 in