首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL2000表、视图、函数、存储过程关联关系 查寻

2013-12-09 
SQL2000表、视图、函数、存储过程关联关系 查找SQL2000表、视图、函数、存储过程关联关系表、视图、函数、存储过程

SQL2000表、视图、函数、存储过程关联关系 查找
SQL2000表、视图、函数、存储过程关联关系

表、视图、函数、存储过程是否有无效的链接?
比如:视图VX引用A和B函数,但B函数被删除了。

如何可以知道视图VX有问题呢?(补引用的函数有问题)
[解决办法]
try see

sys.sql_expression_dependencies 
sys.sysdepends
[解决办法]
好像没什么办法,我做了一个实验,你可以看看,最后删除一个视图,再次运行时,就会报错:


create view dbo.view_tt
as

select *
from sysobjects
go


create view dbo.view_t1
as

select *
from dbo.view_tt

go


--查询依赖关系
select distinct OBJECT_NAME(id) ,
       OBJECT_NAME(depid),
       OBJECT_NAME(id) +'依赖'+OBJECT_NAME(depid)
from sysdepends
where id = OBJECT_ID('view_t1')
/*
view_t1view_ttview_t1依赖view_tt
*/


--删除视图
drop view view_tt


--再次查询依赖关系
select distinct OBJECT_NAME(id) ,
       OBJECT_NAME(depid),
       OBJECT_NAME(id) +'依赖'+OBJECT_NAME(depid)
from sysdepends
where id = OBJECT_ID('view_t1')
/*

*/


--直接报错
select *
from dbo.view_t1
/*
消息 208,级别 16,状态 1,过程 view_t1,第 5 行
对象名 'dbo.view_tt' 无效。
消息 4413,级别 16,状态 1,第 2 行
由于绑定错误,无法使用视图或函数 'dbo.view_t1'。
*/

热点排行