比plsql中的查询更新行数少

时间:2016-11-02 13:37:53

标签: sql oracle plsql

我有一个查询,通过比较这两个表,给出C = cell2mat(reshape(B.', 1, [])); 表的最小有效开始日期和xx_name表的最小有效_start_date(至少我们是指每个人的表的第一行)如果这些日期不同,我将使用ppl的第一个/最小有效开始日期更新名称表的第一个/最小有效开始日期。 为此,我创建了以下光标:

xx_ppl

虽然这给了我不同的start_dates但是当我使用这个游标来更新xx_name表的开始日期减去no。行正在更新。

游标查询不正确吗?

CURSOR cur_p_name
      IS
         SELECT   effective_start_date_name, effective_start_date, person_id
             FROM (SELECT DISTINCT MIN
                                      (x.effective_start_date
                                      ) OVER (PARTITION BY x.person_id)
                                                    effective_start_date_name,
                                   MIN
                                      (y.effective_start_date
                                      ) OVER (PARTITION BY y.person_id)
                                                         effective_start_date,
                                   x.person_id
                              FROM XX_NAME x,
                                   XX_PPL y
                             WHERE x.person_id = y.person_id
--AND X.PERSON_ID='34437'
                  )
            WHERE effective_start_date_name <> effective_start_date
         ORDER BY person_id;

0 个答案:

没有答案