Использование View в SQL DB - PullRequest
0 голосов
/ 18 июня 2011

SQL 2008: я создал представление (select * from VW_Test1).

Это представление предназначено для таблиц1 и таблиц 2.

По некоторым причинам я переименовал эти таблицы в table1_old и table2_old.

Я создал новые таблицы как table1 и table2 с новыми значениями.

Когда бы я ни выполнял представление, оно выдает тот же вывод, что и раньше ... т.е. 308 затронутых строк.

На самом деле я ожидаю больше строк .. Просматривает ли хранилища в буфере как temptable ..

или как очистить и снова выполнить ..? или могут быть какие-то другие причины ???

1 Ответ

2 голосов
/ 18 июня 2011

Из MSDN - СОЗДАТЬ ВИД :

Если представление зависит от удаленной таблицы или представления, компонент Database Engine выдает сообщение об ошибке, когда кто-либо пытается использоватьПосмотреть.Если создается новая таблица или представление и структура таблицы не изменяется по сравнению с предыдущей базовой таблицей, чтобы заменить отброшенную, представление снова становится пригодным для использования.Если новая структура таблицы или представления изменяется, представление должно быть удалено и воссоздано.

И:

Если представление не создано с предложением SCHEMABINDING,Процедура sp_refreshview должна запускаться, когда вносятся изменения в объекты, лежащие в основе представления, которые влияют на определение представления.В противном случае представление может привести к непредсказуемым результатам при запросе.

Я предлагаю вам Пропустить и заново создать представление.

...