0

SQLJのヘルプが必要です (はい...)。このインラインJava SQLで再帰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専用の他の種類の構造があるかもしれません。誰かが助けてくれることを願っています!

4

0 に答える 0