РОУИД на оракуле - PullRequest
       31

РОУИД на оракуле

0 голосов
/ 12 сентября 2018

Когда я выполняю ниже SQL, я получаю rowid как: AAAI4cAAJAAAzWzAAA

SELECT Y.ROWID, Y.res_dt, Y.res_cd
  FROM AJ_CES X
       INNER JOIN temp_stg Y
          ON     X.key_field = Y.key_field
             AND X.sts_cd IN ('P', 'G')
             AND X.proc_dt >= Y.e_date

Но, если я выполняю ниже SQL, я получаю rowids, как показано ниже, оба имеют тот же rowid, который не ожидается.

SELECT A.ROWID, B.ROWID
  FROM AJ_CES A
       INNER JOIN (SELECT Y.ROWID, Y.res_dt, Y.res_cd
                     FROM AJ_CES X
                          INNER JOIN temp_stg Y
                             ON     X.key_field = Y.key_field
                                AND X.sts_cd IN ('P', 'G')
                                AND X.proc_dt >= Y.e_date) B
          ON (A.ROWID = B.ROWID)

Как мы видели в первом SQL, rowid это `AAAI4cAAJAAAzWzAAA.Первый sql - это подзапрос из второго sql, который был выполнен отдельно, чтобы увидеть rowid.Итак, во 2-м SQL B является ничем иным, как rowid из temp_stg, и если мы объединяем этот rowid с внешней таблицей AJ_CES, почему оба rowid одинаковы?

См. Вывод ниже:

ROWID                    ROWID1
AAAJC9AANAAEputAAA       AAAJC9AANAAEputAAA
...