在SQL DB中使用View

时间:2011-06-18 15:16:54

标签: sql-server sql-server-2005 sql-server-2008

SQL 2008:我创建了一个视图(select * from VW_Test1)。

此视图的目标是table1和table2。

由于某些原因,我将这些表重命名为table1_old和table2_old。

我使用新值创建了新表作为table1和table2。

当我执行视图时,它给出了之前给出的相同输出...即受影响的308行。

实际上,我期待更多的行..是否可以像缓冲区一样在缓冲区中查看存储..

或如何清除并再次执行..?或者可能是其他一些原因???

1 个答案:

答案 0 :(得分:2)

来自MSDN - CREATE VIEW

  

如果视图依赖于已删除的表或视图,则当有人尝试使用该视图时,数据库引擎会生成错误消息。如果创建了新表或视图,并且表结构未从先前的基表更改以替换已删除的表,则视图将再次变为可用。如果新表或视图结构发生更改,则必须删除并重新创建视图。

  

如果未使用SCHEMABINDING子句创建视图,则应在对视图下方影响视图定义的对象进行更改时运行sp_refreshview。否则,查询时视图可能会产生意外结果。

我建议你DROP并重新创建视图。