Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Codeblock
ALTER FUNCTION "CA_GET_VORGANGSNUMMER" (@projektnummer numeric(20), @vorgangstyp VARCHAR(30)) RETURNS INT 
AS BEGIN
  declare @nummer  numeric(20)
  declare @counter numeric(20)
 
   SELECT @counter = COUNT(*)
     FROM t_ad_hertwich_vorgangsnr
    WHERE projektnr = @projektnummer AND TYP = @vorgangstyp
 
   IF @counter = 0
        BEGIN 
            RETURN 0
        END
  SELECT @nummer = t1.vorgangnr
  FROM
      t_ad_hertwich_vorgangsnr t1
  WHERE t1.projektnr = @projektnummer AND t1.typ = @vorgangstyp
 
  RETURN @nummer
END

Beispiel 2 (PostgreSQL):Berechnet die Anzahl aller Bestellwerte, die noch keine Rechnungen oder Lieferscheine enthalten. Diese Berechnung wird anhand eines Dynamischen Businessobjekt durchgeführt und es wird somit auf die View zugegriffen. Der Übergabeparameter id stellt in die INTID von dem aktuellen Objekt dar. Dieses wird automatisch an die Funktion mit übergeben.

Codeblock
CREATE OR REPLACE FUNCTION CA_BESTELLWERTGESAMT(id numeric)
  RETURNS numeric AS
$BODY$
DECLARE
    summe numeric (15, 2);
BEGIN
 
   SELECT SUM(bestellwert) INTO summe
   FROM v_de_bestellungen
  WHERE intid_t_ud_genericobject = id;
 
   RETURN summe; 
END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE
  COST 100;

Image Added Achtung: Bei PostgreSQL muss immer eine Löschanweisung mit angegeben werden, die für den Fall der Löschung des Berechnetem Attribut greifen kann.