2013-07-16 5 views
1

У меня есть таблица в Oracle call STATISTICS.Обновление таблицы в Oracle

COLUMN NAME  DATE TYPE 

MODEL   VARCHAR2(30 BYTE)  
NEW_COUNT  NUMBER  
NEW_DATE  DATE   
OLD_COUNT  NUMBER  
OLD_DATE  DATE   
PRNCT_CHANGE NUMBER 

Теперь у меня есть SQL, который обновляет статистику таблицы:

UPDATE STATISTICS 
SET 
    OLD_COUNT = NEW_COUNT, 
    NEW_COUNT = 
    (-- semantic table -- 
     SELECT COUNT(*) 
     FROM TABLE(SEM_MATCH(
     '{ 
       ?s ?p ?o 
     }', 
     SEM_Models(MODEL),NULL, 
     SEM_ALIASES(SEM_ALIAS('','http://SEMANTIC#')),NULL)) 
    ), 
    OLD_DATE = NEW_DATE, 
    NEW_DATE = SYSDATE 

WHERE MODEL = &MY_MODEL  
; 

Теперь я могу это сделать? Нажмите дату с новой даты на старую дату, прежде чем я обновляю новую дату? Я также делаю то же самое с NEW_COUNT и OLD_COUNT ...

Это звучало логично, но это нормально?

+0

Вы попробовали запустить его? Да, это должно сработать. – OldProgrammer

+0

Я просто попробовал. Это сработало. Спасибо @OldProgrammer – Angelina

ответ

0

Итак, я следовал своим собственным советам :), и это сработало отлично. Я не уверен, что это лучшая практика, но она делает трюк.

Смежные вопросы