Witajcie!
Napisałem rekurencję za pomocą metody CTE. Wszytko byłoby dobrze gdyby nie komunikat, którego nie potrafię przeskoczyć. Chodzi bowiem o jakieś chyba zapętlenie, jednak nigdzie nie mogę dostać odpowiedzi dlaczego jest błąd. Poniżej kod błędu i sama rekurencja
can't format message 13:896 -- message file C:\Windows\firebird.msg not found.
Dynamic SQL Error.
SQL error code = -104.
CTE 'EMPTY' has cyclic dependencies.
WITH empty as (SELECT T2.ID_TECHNOLOGIA, K2.NAZWASKR FROM NAGL N
LEFT OUTER JOIN POZ P ON (P.ID_NAGL = N.ID_NAGL)
LEFT OUTER JOIN KARTOTEKA K ON (K.ID_KARTOTEKA = P.ID_KARTOTEKA)
LEFT OUTER JOIN TECHNOLOGIA T ON (T.ID_KARTOTEKA = P.ID_KARTOTEKA)
LEFT OUTER JOIN OPERACJATECH O ON (O.ID_TECHNOLOGIA = T.ID_TECHNOLOGIA)
LEFT OUTER JOIN OPERACJASL OS ON (OS.id_operacjasl= O.id_operacjasl)
LEFT OUTER JOIN OPERACJA OP ON (OP.id_operacjatech = O.id_operacjatech)
LEFT OUTER JOIN bomitemoperacjatech_view V ON (V.id_operacjatech = O.id_operacjatech)
LEFT OUTER JOIN KARTOTEKA K2 ON (K2.ID_KARTOTEKA = V.ID_KARTOTEKA)
LEFT OUTER JOIN TECHNOLOGIA T2 ON (T2.ID_KARTOTEKA = K2.ID_KARTOTEKA)
WHERE N.ID_NAGL = 10869 AND T2.ID_TECHNOLOGIA IS NULL AND T.GLOWNA = 1 and n.id_defdok = 910
UNION ALL
SELECT T2.ID_TECHNOLOGIA, K2.NAZWASKR FROM NAGL N
LEFT OUTER JOIN POZ P ON (P.ID_NAGL = N.ID_NAGL)
LEFT OUTER JOIN KARTOTEKA K ON (K.ID_KARTOTEKA = P.ID_KARTOTEKA)
LEFT OUTER JOIN TECHNOLOGIA T ON (T.ID_KARTOTEKA = P.ID_KARTOTEKA)
LEFT OUTER JOIN OPERACJATECH O ON (O.ID_TECHNOLOGIA = T.ID_TECHNOLOGIA)
LEFT OUTER JOIN OPERACJASL OS ON (OS.id_operacjasl= O.id_operacjasl)
LEFT OUTER JOIN OPERACJA OP ON (OP.id_operacjatech = O.id_operacjatech)
LEFT OUTER JOIN bomitemoperacjatech_view V ON (V.id_operacjatech = O.id_operacjatech)
LEFT OUTER JOIN KARTOTEKA K2 ON (K2.ID_KARTOTEKA = V.ID_KARTOTEKA)
LEFT OUTER JOIN TECHNOLOGIA T2 ON (T2.ID_KARTOTEKA = K2.ID_KARTOTEKA)
INNER JOIN empty Pp on T2.ID_TECHNOLOGIA = PP.ID_TECHNOLOGIA)
SELECT * FROM empty