在使用sqlserver 视图的过程中有时会发生如下情况,请大家帮忙看一下,谢谢!从视图中select 出的数据和 直接用创建视图的语句选出的数据有差异,但重新保存一次视图就没问题了,请问这是什么原因造成的?
sql如下:create view vi_test as select a.id,b.name from a,b where a.id=b.idSA:select * from vi_test
SB:select a.id,b.name from a,b where a.id=b.idSA和SB的结果集不同
sql如下:create view vi_test as select a.id,b.name from a,b where a.id=b.idSA:select * from vi_test
SB:select a.id,b.name from a,b where a.id=b.idSA和SB的结果集不同
--try
exec sp_refreshview 'vi_test'
exec sp_refreshview 'vi_test'
命令刷新
或者
alter
修改视图
--否则,查询或调用该模块时,可能会产生意外结果。
--若要刷新视图,可以使用 sp_refreshsqlmodule 或具有相同效果的 sp_refreshview。USE DBname;
GO
exec sys.sp_refreshsqlmodule @name = N'vi_test';