Kampfgummibaerlie
Datenbank-Guru
- Beiträge
- 782
Ich frage mich, wieso das so Umfangreich unterrichtet wird, war heute bei einer höheren Schulstufe als Zuhörer und die haben (alle bereits mit Matura ausgestattet) derzeit bei Datenbanken das Thema "Sub-Selects".
Mir wäre bisher nie aufgefallen, dass ich sonderlich viele SubSelects (Datenbank Mimoso) einsetzen musste. Ich verwende einfach auf der Homepage, wo ich möglicherweise den Namen anzeige, die id als "Wert".
Was ich mir vorstellen kann wäre, dass das bei Triggern evtl. nötig sein könnte, Beispiel:
Kunde löscht Account
Offene Bestellungen werden mitgelöscht
einfach einen üblichen Trigger mit folgendem Funktions-Body:
Beispiel probiert (Hier Code):
Dann sollte in Bestellung auch nichts mehr sein.
Probe:
Result:
wird das Thema SubSelect relevanter, wenn ich mich mit Procedures beschäftige?
Mir wäre bisher nie aufgefallen, dass ich sonderlich viele SubSelects (Datenbank Mimoso) einsetzen musste. Ich verwende einfach auf der Homepage, wo ich möglicherweise den Namen anzeige, die id als "Wert".
Was ich mir vorstellen kann wäre, dass das bei Triggern evtl. nötig sein könnte, Beispiel:
Kunde löscht Account
Offene Bestellungen werden mitgelöscht
einfach einen üblichen Trigger mit folgendem Funktions-Body:
Code:
delete from bestellungen where kunde = (select id from kunde where id = old.id)
Beispiel probiert (Hier Code):
Code:
create table kunde(id integer primary key);
create table bestellung(kunde integer references kunde(id), produkt integer not null);
create function del() returns trigger as $$
begin
delete from bestellung where kunde = (select id from kunde where id = old.id);
return old;
end;
$$ language plpgsql;
create trigger del before delete on kunde for each row execute procedure del();
insert into kunde values (1);
insert into bestellung values (1, 1);
delete from kunde;
Dann sollte in Bestellung auch nichts mehr sein.
Probe:
Code:
select * from bestellung;
Result:
Code:
-
wird das Thema SubSelect relevanter, wenn ich mich mit Procedures beschäftige?