Рекурсивный запрос в SQLJ

Мне нужна помощь в SQLJ (да...). Я гуглю, как воспроизвести рекурсивный запрос SQL в этом встроенном Java-SQL. Ссылки также приветствуются, потому что это действительно трудно найти также...

Мой SQL-запрос:

WITH attachedemails(id, subject, filename) 
     AS ( 
        -- Ancora (224)   
        SELECT email 
        FROM   (SELECT addressee.email AS email 
                FROM   addressee 
                WHERE  addressee.email->from 
                    IN (SELECT address 
                        FROM   use 
                        WHERE use.user->nickname = User.nickname <arg>) 
                UNION 
                SELECT addressee.email 
                FROM   addressee 
                WHERE  addressee.to 
                    IN (SELECT address 
                    FROM   use 
                    WHERE use.user->nickname = = User.nickname <arg>))) 
               AS t 
        WHERE  email->DATE >= FROM <arg> AND  email->DATE <= TO <arg> )           

         UNION ALL 

         SELECT m.id 
         FROM   email AS m, 
                attachedemails AS c 
         WHERE  m.contained_in = c.id 
                AND m.DATE >= FROM <arg> AND  email->DATE <= TO <arg> )) 

По сути, я получаю все электронные письма от определенного пользователя и электронные письма, прикрепленные к другим электронным письмам. Я отметил свои аргументы Java, которые я должен использовать для фильтрации результатов.

Я знаю, что для возврата нескольких строк с использованием SQLJ нам нужен итератор, и что я могу использовать их на разных уровнях в подзапросах, но рекурсия крайне сложно симулировать. Может быть, есть какая-то другая конструкция специально для SQLJ, которую я не знаю. Я надеюсь, что кто-то может помочь!

0 ответов

Другие вопросы по тегам