Ja ich auche einen Ersatz fuer o.a. Oracle
SQL in Firebird
Kenne mich mit Firebird leider nicht so gut aus wie mit Oracle.
Bisher habe ich es mit folgender SP probiert:
Code:
CREATE PROCEDURE HIERARCHIE (
A_ID BIGINT,
A_LEVEL INTEGER)
RETURNS (
A BIGINT,
L BIGINT)
AS
DECLARE VARIABLE NR BIGINT;
BEGIN
NR = -1;
FOR SELECT E.EMP_ID FROM EMPLOYEE E
WHERE (E.CHEF_ID = :A_ID)
INTO :NR
DO
BEGIN
IF (NR <> -1) THEN
BEGIN
A_LEVEL = A_LEVEL +1;
EXECUTE PROCEDURE HIERARCHIE(NR,:A_LEVEL) RETURNING_VALUES(:A, :A_LEVEL);
A = :A_ID;
L = :A_LEVEL;
SUSPEND;
END
END
END
Ich rufe die SP mit (20,0) auf das Ding geht auch in die Rekursion aber die Daten werden irgendwie
falsch ausgegeben.
BTW: Kann man eigentlich bei Firebird SP's debuggen?