Übung zu Trigger - MultiAugustinum

Werbung
PHP
26. Jänner 2012
E3A
Übung zu PL/pgSQL–Trigger
1. Übung: Programmiere in PostgreSQL eine Art »Mini-Datawarehouse«.
• Erstelle dazu folgende Tabellen:
CREATE TABLE verkauf (
vid int NOT NULL,
kid int NOT NULL,
artikelid int NOT NULL,
datum date,
wert numeric,
PRIMARY KEY(vid)
);
CREATE TABLE kunde_verkauf_total(
kid int NOT NULL,
gesamt numeric,
PRIMARY KEY(kid)
);
• Programmiere einen Trigger, der bei einem insert in die Tabelle verkauf auch die Tabelle kunde_verkauf_total aktualisiert. Dabei soll für den jeweiligen Kunden der neu
eingefügte wert zur Spalte gesamt addiert werden, um so die Gesamtverkäufe pro Kunde zu erhalten.
2. Übung:
• Erstelle folgende Tabelle
CREATE TABLE artikel
(
aid integer NOT NULL,
bez text ,
preis numeric(5,2),
typ integer ,
PRIMARY KEY (aid )
)
und füge einen beliebigen Wert ein.
• Schreibe einen Trigger, der bei Änderung des Preises die Information in eine Log-Tabelle
überträgt. Die Ausgabe der Log-Tabelle sieht zum Beispiel so aus.
update artikel set preis = 101.23 where aid = 100;
select * from art_log;
aend
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
es hat sich artikel maus von 100.23 auf 101.23 geaendert
es hat sich artikel maus von 101.23 auf 101.23 geaendert
1
Herunterladen