This repository has been archived by the owner on Aug 5, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtestFunctions.sql
80 lines (65 loc) · 3.79 KB
/
testFunctions.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
---- Funktioniert ohne Änderung in der Historie Tabelle
UPDATE produkt SET gueltigab = TO_DATE('01.02.2019','DD.MM.YYYY') where pnr = 'p1';
UPDATE produkt SET gueltigab = TO_DATE('01.03.2019','DD.MM.YYYY') where pnr = 'p2';
UPDATE produkt SET gueltigab = TO_DATE('01.03.2019','DD.MM.YYYY') where pnr = 'p3';
SELECT 'Produkt Tabelle' as " ";
SELECT * FROM produkt;
---- Funktioniert, da NEW.gueltigab > letzteanederung (1970) ist
UPDATE produkt SET gueltigab = TO_DATE('01.01.2019','DD.MM.YYYY') where pnr = 'p1';
UPDATE produkt SET gueltigab = TO_DATE('01.01.2019','DD.MM.YYYY') where pnr = 'p2';
UPDATE produkt SET gueltigab = TO_DATE('01.01.2019','DD.MM.YYYY') where pnr = 'p3';
SELECT 'Produkt Tabelle' as " ";
SELECT * FROM produkt;
---- Sollte nicht funktionieren, da gueltigab < letzteanederung
SELECT 'Hier sollten 3 Fehler auftretten....' as " ";
UPDATE produkt SET gueltigab = TO_DATE('01.01.1969','DD.MM.YYYY') where pnr = 'p1';
UPDATE produkt SET gueltigab = TO_DATE('01.01.1969','DD.MM.YYYY') where pnr = 'p2';
UPDATE produkt SET gueltigab = TO_DATE('01.01.1969','DD.MM.YYYY') where pnr = 'p3';
SELECT 'Produkt Tabelle' as " ";
SELECT * FROM produkt;
-- Preisänderung wird in die Historie übernommen
UPDATE produkt SET gueltigab = TO_DATE('01.02.2019','DD.MM.YYYY'), preis='100.00' where pnr = 'p1';
UPDATE produkt SET gueltigab = TO_DATE('01.02.2019','DD.MM.YYYY'), preis='100.00' where pnr = 'p2';
UPDATE produkt SET gueltigab = TO_DATE('01.02.2019','DD.MM.YYYY'), preis='100.00' where pnr = 'p3';
UPDATE produkt SET gueltigab = TO_DATE('01.02.2019','DD.MM.YYYY'), preis='100.00' where pnr = 'p4';
SELECT 'Produkt Tabelle' as " ";
SELECT * FROM produkt;
SELECT 'Preishistorie Tabelle' as " ";
SELECT * FROM preishist;
SELECT 'Preisliste View' as " ";
SELECT * FROM preisliste;
-- Preisänderung wird nicht in die Historie übernommen
UPDATE produkt SET preis = '999.99' where pnr = 'p1';
UPDATE produkt SET preis = '999.99' where pnr = 'p2';
UPDATE produkt SET preis = '999.99' where pnr = 'p3';
UPDATE produkt SET preis = '999.99' where pnr = 'p4';
SELECT 'Produkt Tabelle' as " ";
SELECT * FROM produkt;
SELECT 'Historie Tabelle' as " ";
SELECT * FROM produkt;
---- Sollte nicht funktionieren, da gueltigab < letzteanederung
SELECT 'Hier sollten 3 Fehler auftretten....' as " ";
UPDATE produkt SET gueltigab = TO_DATE('01.01.2019','DD.MM.YYYY') where pnr = 'p1';
UPDATE produkt SET gueltigab = TO_DATE('01.01.2019','DD.MM.YYYY') where pnr = 'p2';
UPDATE produkt SET gueltigab = TO_DATE('01.01.2019','DD.MM.YYYY') where pnr = 'p3';
SELECT 'Produkt Tabelle' as " ";
SELECT * FROM produkt;
-- Preisänderung wird in die Historie übernommen
UPDATE produkt SET gueltigab = TO_DATE('01.03.2019','DD.MM.YYYY'), preis='300.00' where pnr = 'p1';
UPDATE produkt SET gueltigab = TO_DATE('01.04.2019','DD.MM.YYYY'), preis='400.00' where pnr = 'p1';
UPDATE produkt SET gueltigab = TO_DATE('01.05.2019','DD.MM.YYYY'), preis='500.00' where pnr = 'p1';
UPDATE produkt SET gueltigab = TO_DATE('01.06.2019','DD.MM.YYYY'), preis='600.00' where pnr = 'p1';
UPDATE produkt SET gueltigab = TO_DATE('07.06.2019','DD.MM.YYYY'), preis='625.00' where pnr = 'p1';
UPDATE produkt SET gueltigab = TO_DATE('14.06.2019','DD.MM.YYYY'), preis='650.00' where pnr = 'p1';
UPDATE produkt SET gueltigab = TO_DATE('21.06.2019','DD.MM.YYYY'), preis='675.00' where pnr = 'p1';
SELECT 'Produkt Tabelle' as " ";
SELECT * FROM produkt;
SELECT 'Preishistorie Tabelle' as " ";
SELECT * FROM preishist;
SELECT 'Preisliste View' as " ";
SELECT * FROM preisliste;
-- Preis eines Produktes herausfinden
SELECT 'Preis herausfinden' AS " ";
SELECT pnr, preis from preisliste where pnr = 'p1' and TO_DATE('01.02.2019','DD.MM.YYYY') BETWEEN gueltigab AND gueltigbis;
--SELECT 'DEBUG' AS " ";
--SELECT pnr, preis, gueltigab, gueltigbis from preisliste where pnr = 'p1' ORDER BY gueltigbis DESC;