使用FROM子句更新语句

时间:2018-08-20 13:33:37

标签: sql oracle join oracle11g sql-update

我有一条SELECT语句以这种方式提取记录。

SELECT /*+PARALLEL(16)*/ CONT_ID, 
                         LOCATION_GROUP_ID, 
                         CONT_METH_TP_CD,
                         END_DT
FROM   (SELECT A.*, 
              DENSE_RANK() OVER ( 
               partition BY CONT_ID, CONT_METH_TP_CD 
               ORDER BY LAST_UPDATE_DT DESC) AS RNK 
          FROM   (SELECT LG.CONT_ID, 
                         LG.LOCATION_GROUP_ID, 
                         CG.CONT_METH_TP_CD, 
                         LG.LAST_UPDATE_DT,
                         LG.END_DT
                  FROM   HUB.LOCATIONGROUP LG, 
                         HUB.CONTACTMETHODGROUP CG, 
                         HUB.CONTACT C 
                  WHERE  LG.LOCATION_GROUP_ID = CG.LOCATION_GROUP_ID 
                         AND LG.CONT_ID = C.CONT_ID 
                         AND LG.END_DT IS NULL 
                         AND C.INACTIVATED_DT IS NULL
                ) A
      ) 
WHERE  RNK > 1;

获取这些数据后,我必须返回将END_DT设置为SYSDATE,这将需要另一个查询。

获取结果后,是否可以直接在同一查询中直接设置END_DT,而不必进行其他查询?

0 个答案:

没有答案