Кто-нибудь может сказать мне, как часто материализованное представление обновляется со следующей настройкой, плз?
ОБНОВЛЕНИЕ ПО ЗАПРОСУ НАЧАТЬ С sysdate + 0 NEXT (round (sysdate) + 1/24) + 1
Я думаю, что читаю это каждый час, но я не уверен
Кто-нибудь может сказать мне, как часто материализованное представление обновляется со следующей настройкой, плз?
ОБНОВЛЕНИЕ ПО ЗАПРОСУ НАЧАТЬ С sysdate + 0 NEXT (round (sysdate) + 1/24) + 1
Я думаю, что читаю это каждый час, но я не уверен
Чтобы ответить на ваш первый вопрос (будет ли это выполняться один раз в час?):
Нет, это будет запускаться один раз, когда вы создадите его из-за этого предложения:
START WITH sysdate+0
Лично я считаю «+0» посторонним, как сейчас.
Тогда он будет запускаться завтра в 1 час ночи по следующему пункту:
NEXT (round(sysdate) + 1/24) + 1
Часть «1/24» вычисляет 1 час ночи, поскольку даты Oracle фактически хранятся в виде чисел, а десятичная часть указывает часы, минуты и т. Д. Синтаксис в порядке.
Я не уверен на 100%, что это законно для оператора планирования материализованного представления, но вы можете попробовать (возможно) более интуитивно понятную спецификацию INTERVAL:
round(sysdate) + interval '1 1' day to hour
Другие примеры здесь: http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/sql_elements003.htm#SQLRF00221
я думаю, используя
NEXT (trunc(sysdate) + 1/24) + 1
точнее