Рекурсивный запрос в 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, которую я не знаю. Я надеюсь, что кто-то может помочь!