0

在 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

有谁知道这怎么可能?

4

1 回答 1

1

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

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

(中的定义INFORMATION_SCHEMA.VIEWS基于与 相同的数据syscomments

于 2013-04-03T09:30:09.163 回答