Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Перестает корректно работать VIEW. Из-за чего это может происходить? / 6 сообщений из 6, страница 1 из 1
13.11.2018, 09:37
    #39732185
K-Nick
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перестает корректно работать VIEW. Из-за чего это может происходить?
Доброго времени суток.

Я новичок в SQL, поэтому не могу понять причин следующего казуса:
У меня есть VIEW следующего содержания:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
ALTER VIEW AREPORT_RTMOP2_TR
AS
  SELECT TR.*, CCTS.REF_STRAT 
  FROM TR WITH (NOLOCK)
  INNER JOIN TASKS_SHORT AS CCTS ON TR.ID = CCTS.REF_TR
  INNER JOIN Справочник_МОП AS MOP ON TR.REF_МОП = MOP.ID
  WHERE ((TR.TaskType=2) AND
         (TR.Дата_запроса>(SELECT TOP 1 CAST(OptValue AS DATE) AS DayT FROM Options WHERE OptName='DayT_MOP2')) AND
         (ISNULL(CCTS.CG,0)=0) AND
         (MOP. [REF_Площадка]=1))


Некоторое время оно работает нормально, а потом, без видимых мне причин, начинает выдавать NULL во всех строках столбца REF_STRAT.
При этом выполнение этого же запроса отдельно, как запроса дает правильный результат и после пересоздания этого представления с помощью ALTER VIEW, работоспособность восстанавливается.
Такое было уже два раза за, примерно, три месяца использования.
Подскажите, с чем это может быть связано?
SQL-сервер 2012.
Заранее премного благодарен.
...
Рейтинг: 0 / 0
13.11.2018, 10:24
    #39732229
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перестает корректно работать VIEW. Из-за чего это может происходить?
...
Рейтинг: 0 / 0
13.11.2018, 10:25
    #39732231
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перестает корректно работать VIEW. Из-за чего это может происходить?
K-Nick,
Например, синонимы на удалённый сервер есть
...
Рейтинг: 0 / 0
13.11.2018, 10:39
    #39732248
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перестает корректно работать VIEW. Из-за чего это может происходить?
Достаточно внести изменение в структуру одной из базовых таблиц VIEW, и VIEW перестанет работать, пока его не пересоздашь.
Обращает на себя внимание и нелепое условие с TOP(1), но без ORDER BY.
То есть, Дата_запроса сравнивается со случайно попавшимся OptValue?
...
Рейтинг: 0 / 0
13.11.2018, 11:19
    #39732293
K-Nick
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перестает корректно работать VIEW. Из-за чего это может происходить?
iap,
В этой таблице есть только одна запись с OptName='DayT_MOP2', Так что TOP 1 здесь необязательно, но я подумал (м.б. я ошибся), что запрос будет выполняться быстрее, если он остановится на первом совпадении и не будет искать остальные, которых нет.
...
Рейтинг: 0 / 0
13.11.2018, 12:32
    #39732354
K-Nick
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перестает корректно работать VIEW. Из-за чего это может происходить?
Спасибо всем.

Теперь буду делать sp_refreshview всем VIEW после всех изменений в структуре таблиц.
Если не поможет - вернусь.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Перестает корректно работать VIEW. Из-за чего это может происходить? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]