Kampfgummibaerlie
Datenbank-Guru
- Beiträge
- 746
sodala, um das ganze fortzuführen, weil ich bisher alle fixen (!) Feiertage nicht eintragbar gemacht habe: (Ja, sind die Feiertage in Österreich)
Jetzt kommt der Spaß mit Ostern (Außer, irgendwer fechtet diese Lösungsmethode an, aber falls, dann bitte Verbesserungsvorschläge bringen )
Code:
create table vermietungen (datum date);
create function wochentag_datum (x date) RETURNS double precision AS 'select extract(dow from x)' LANGUAGE sql VOLATILE;
alter table vermietungen add constraint keine_Sonntage CHECK (wochentag_datum(datum)>0);
alter table vermietungen add constraint Neujahr CHECK (to_char(datum, 'DD.MM.') != '01.01.');
alter table vermietungen add constraint Heilige_drei_Könige CHECK (to_char(datum, 'DD.MM.') != '06.01.');
alter table vermietungen add constraint Josef CHECK (to_char(datum, 'DD.MM.') != '19.03.');
alter table vermietungen add constraint Staatsfeiertag CHECK (to_char(datum, 'DD.MM.') != '01.05.');
alter table vermietungen add constraint Florian CHECK (to_char(datum, 'DD.MM.') != '04.05.');
alter table vermietungen add constraint Mariä_Himmelfahrt CHECK (to_char(datum, 'DD.MM.') != '15.08.');
alter table vermietungen add constraint Rupert CHECK (to_char(datum, 'DD.MM.') != '24.09.');
alter table vermietungen add constraint Tag_der_Volksabstimmung CHECK (to_char(datum, 'DD.MM.') != '10.10.');
alter table vermietungen add constraint Nationalfeiertag CHECK (to_char(datum, 'DD.MM.') != '26.10.');
alter table vermietungen add constraint Allerheiligen CHECK (to_char(datum, 'DD.MM.') != '01.11.');
alter table vermietungen add constraint Martin CHECK (to_char(datum, 'DD.MM.') != '11.11.');
alter table vermietungen add constraint Leopold CHECK (to_char(datum, 'DD.MM.') != '15.11.');
alter table vermietungen add constraint Mariä_Empfägnis CHECK (to_char(datum, 'DD.MM.') != '08.12.');
alter table vermietungen add constraint Heiliger_Abend CHECK (to_char(datum, 'DD.MM.') != '24.12.');
alter table vermietungen add constraint Christtag CHECK (to_char(datum, 'DD.MM.') != '25.12.');
alter table vermietungen add constraint Stefanitag CHECK (to_char(datum, 'DD.MM.') != '26.12.');
alter table vermietungen add constraint Silvester CHECK (to_char(datum, 'DD.MM.') != '31.12.');
Jetzt kommt der Spaß mit Ostern (Außer, irgendwer fechtet diese Lösungsmethode an, aber falls, dann bitte Verbesserungsvorschläge bringen )