время обновления материализованного представления оракула

Кто-нибудь может сказать мне, как часто материализованное представление обновляется со следующей настройкой, плз?

ОБНОВЛЕНИЕ ПО ЗАПРОСУ НАЧАТЬ С sysdate + 0 NEXT (round (sysdate) + 1/24) + 1

Я думаю, что читаю это каждый час, но я не уверен


person shaunf    schedule 19.12.2008    source источник


Ответы (3)


Чтобы ответить на ваш первый вопрос (будет ли это выполняться один раз в час?):

Нет, это будет запускаться один раз, когда вы создадите его из-за этого предложения:

START WITH sysdate+0 

Лично я считаю «+0» посторонним, как сейчас.

Тогда он будет запускаться завтра в 1 час ночи по следующему пункту:

NEXT (round(sysdate) + 1/24) + 1

Часть «1/24» вычисляет 1 час ночи, поскольку даты Oracle фактически хранятся в виде чисел, а десятичная часть указывает часы, минуты и т. Д. Синтаксис в порядке.

person Stew S    schedule 02.01.2009
comment
+1 за более подробное объяснение. Чтобы уточнить, round (sysdate) дает вам MM / DD / YY @ 12:00:00. + 1/24 (час) делает значение ММ / ДД / ГГ @ 01:00:00. +1 (день) делает значение ММ / ДД + 1 / ГГ 01:00:00. - person craig; 19.05.2011

Я не уверен на 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

person David Aldridge    schedule 19.12.2008

я думаю, используя

NEXT (trunc(sysdate) + 1/24) + 1

точнее

person Nadi E Musleh    schedule 26.04.2014