Использование SELECT FROM OLD TABLE DELETE с курсором, содержащим XMLTABLE - PullRequest
0 голосов
/ 09 июля 2020

Я вижу примеры SELECT FROM OLD TABLE DELETE на страницах поддержки IBM, которые очень c, но я хотел бы использовать это с курсором, который содержит XMLTABLE и XMLEXISTS. Возможно ли это?

Мой запрос курсора показан ниже. Я хочу сделать l oop, удалив записи из T0010DOCUMENT и добавив PolicyNumber и SystemCode в качестве записи аудита в T0020AUDIT.

Я могу выполнить эти действия как отдельные шаги в обычном FOR l oop но я хотел быть более эффективным.

        SELECT 
              t0010.document_id, 
              xml_data.PolicyNumber,
              xml_data.SystemCode
        FROM 
              T0010DOCUMENT t0010,
              XMLTABLE('$i/*:storeOutput' PASSING t0010.document_xml AS "i"
              COLUMNS
              PolicyNumber varchar(20) path '*:header/*:PolicyNumber',
              SystemCode varchar(20) path '*:header/*:SystemCode'
              ) AS xml_data
        WHERE 
        XMLEXISTS('$i/*:storeOutput/*:header[*:SystemCode = "ALP" and *:OutputContentType = ("QUO")]' 
            PASSING t0010.document_xml AS "i")
        AND t0010.document_date <= CURRENT DATE - p_minAge DAYS
...