1

我在 Oracle 中有一个名为 STATISTICS 的表。

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 做同样的事情......

这听起来合乎逻辑,但可以这样做吗?

4

1 回答 1

0

所以我听从了我自己的建议 :) 效果很好。我不确定这是否是最佳做法,但它可以解决问题

于 2013-07-16T18:05:43.890 回答