如何查询INFORMATION_SCHEMA.VIEWS

时间:2013-04-03 08:59:51

标签: sql-server views sql-server-2000

在SQL Server 2000中,在其中一个遗留系统上工作时,我运行了以下查询

SELECT * FROM INFORMATION_SCHEMA.VIEWS
where VIEW_DEFINITION LIKE '%XXXX%'

并获得了VIEW_DEFINITION ---> CREATE VIEW [dbo].[vw_ISLocation] AS ....

的结果集

现在的问题是,数据库中没有该名称(vw_ISLocation)的视图。具有相同TEXT的唯一视图具有不同的名称vw_Location

有谁知道这怎么可能?

1 个答案:

答案 0 :(得分:1)

一种可能的解释是,该对象最初是使用名称vw_ISLocation创建的,后来使用sp_rename重命名。这是记录在案的行为(来自Books Online):

  

重命名存储过程,视图或触发器不会更改名称   syscomments表中相应的对象名称。这可能   导致生成对象的脚本作为旧名称的问题   将从syscomments表插入到CREATE语句中。   为获得最佳结果,请勿重命名这些对象类型。相反,放弃和   用新名称重新创建对象。

INFORMATION_SCHEMA.VIEWS中的定义基于与syscomments

相同的数据