Использование Merge в Oracle для обновления родительской таблицы с помощью Joins - PullRequest
0 голосов
/ 26 октября 2018

У меня есть оператор SQL, как показано ниже, я не смог выполнить оператор в Oracle, так как он не поддерживает соединения в обновлении. Я попытался использовать обновление с использованием временной таблицы и завершил работу, однако я хотел бы использовать оператор Merge и не смог написать код. Дайте мне знать, если в Oracle есть возможность использовать объединения в обновлении, которое не увеличивает производительность.

 UPDATE A SET 
       YearStartPD = B.PERIOD_CODE,
    YearEndPD  = A.PERIOD_CODE,
    PY_YearStartPD = C.PERIOD_CODE,
    PY_YearEndPD = A.PY_WeekEndPD
FROM dbo.DIM_TIME A                  
    INNER JOIN 
    (
        select PERIOD_CODE,WEEK_PERIOD_CODE,YEAR_CODE from dbo.DIM_TIME 
WHERE WEEK_PERIOD_CODE = '01'
    ) B ON  B.Year_Code = A.Year_Code
    LEFT JOIN
    (
        select PERIOD_CODE,WEEK_PERIOD_CODE,YEAR_CODE from dbo.DIM_TIME 
 WHERE WEEK_PERIOD_CODE = '01'
    ) C ON  C.Year_Code = A.Year_Code - 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...