Moin,
ich bin jetzt dazu übergegangen eine Stored Procedure für die Berechnung der Gesamtkosten eines Auftrags zu verwenden. Folgendermaßen sieht sie aus:
Code:
CREATE PROCEDURE auftragskosten(anr integer)
RETURNS (auftragssumme integer) AS
DECLARE VARIABLE summe integer;
DECLARE VARIABLE preis integer;
DECLARE VARIABLE menge integer;
DECLARE VARIABLE anrtemp integer;
BEGIN
summe=0;
FOR SELECT art.e_preis, pos.menge, pos.anr
FROM positionen pos
LEFT OUTER JOIN artikel art ON pos.artikel=art.artnr
WHERE (pos.anr=:anr)
INTO :preis, :menge, :anrtemp
DO
summe=summe+(preis*menge);
END;
:auftragssumme=:summe;
END;
Sie funktioniert, außer dass ich einen Fehler bekomm, wenn ich das oben ausführe (Listenindex ausserhalb gültigen Bereichs, oder so), aber sie ist richtig da.
Wenn ich sie jetzt aber ausführe, bekomme ich ein leeres Ergebnis zurück. Warum? Hab auch schon auftragssumme und summe ohne : gehabt, ist auch nix anderes. Wer kann mir den erlösenden Tipp geben?
Gruß