在Oracle中更新表

时间:2013-07-16 14:52:58

标签: oracle11g sql-update

我在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 ......

做同样的事情

这听起来合乎逻辑但是可以做到这一点吗?

1 个答案:

答案 0 :(得分:0)

所以我遵循自己的建议:)它运作得很好。我不确定这是否是最好的做法,但它可以解决这个问题