Hallo,
ich habe eine Tabelle mit Angeboten. Am Angebot hängen diverse Konditionseinträge also Preise die nach mehreren Dimensionen unterschieden werden. Z.B. Region, Gewicht, Zeit. Es gibt eine Funktion die mir zum Angebot und den Dimensionen die aktuellen Preise und weitere Informationen (Bsp. Preis ist in der Gruppe des Kunden definiert) über einen benutzerdefinierten Typ zurückliefert.
Für ein GUI möchte ich eine View bereitstellen die mir zum Angebot auch den wichtigsten Preispunkt mit seinen Zusatzinformationen bereitstellt. Über einen Trigger sollen beim Insert und Update die Daten in die passenden Tabellen verteilt werden.
(Bisher liegt die Logik im GUI, ist aber umständlich. Die Verarbeitung möchte ich in die Datenbank legen)
Create table angebote (angebotsid integer, kundenid integer, gueltigab date);
Create Type typePreis as (wert numeric(6,2), gueltigab date, herkunft integer);
--da sind noch mehr Parameter
Create Function get_preis(inAngebotsid integer, inGueltigam date) Returns typePreis as $$
Declare
p typePreis;
Begin
--Dummydaten statt wirklicher Preisermittlung
p.wert := 9.99;
p.gueltigab := '2015-01-01';
--sagen wir 0 = Gruppenpreis, 1 = Kundenpreis
p.herkunft := 0;
Return p;
End;
$$
LANGUAGE plpgsql;
Jetzt hätte ich gerne eine View die mir aus der Tabelle und der Funktion alle Spalten liefert also
a.angebotsid, a.kundenid, a.gueltigab, p.wert, p.gueltigab, p.herkunft
Kann ich Tabelle und Funktion verknüpfen?
Also: komplex zusammengestellten Record ans GUI liefern, Record wird bearbeitet und beim zurückschreiben über einen Trigger verteilt.
Grüße
Uli