summaryrefslogtreecommitdiffstats
path: root/Bachelor/Datenbanken 2/Praktikum5/ORDML_p5.sql
blob: fb0c6e4818f3dadef2afb3f8604e07b5372cc150 (plain)
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
81
82
-- Firma 1 (ohne Firmenreferenzen)
INSERT INTO T_Firma (RegNr,Name,Adresse,Umsatz)
VALUES (123,'A-Firma',
        Typ_Adresse(65432,'A-Stadt','B-Weg','17'),
        150
        );
-- Firma 1a (ohne Firmenreferenzen)
INSERT INTO T_Firma (RegNr,Name,Adresse,Umsatz)
VALUES (124,'A1-Firma',
        Typ_Adresse(76543,'B-Stadt','C-Str','25'),
        20
        );
-- Firma 1b (ohne Firmenreferenzen)
INSERT INTO T_Firma (RegNr,Name,Adresse,Umsatz)
VALUES (125,'A2-Firma',
        Typ_Adresse(87654,'C-Stadt','D-Weg','33'),
        30
        );
        
-- Firma 2  (ohne Firmenreferenzen)
INSERT INTO T_Firma (RegNr,Name,Adresse,Umsatz)
VALUES (234,'B-Firma',
        Typ_Adresse(12345,'Z-Stadt','X-Str','87'),
        100
        );
-- Firma 2a  (ohne Firmenreferenzen)
INSERT INTO T_Firma (RegNr,Name,Adresse,Umsatz)
VALUES (235,'B1-Firma',
        Typ_Adresse(23456,'Y-Stadt','Y-Weg','92'),
        10
        ); 

-- Firma 3 (ohne Firmenreferenzen)
INSERT INTO T_Firma (RegNr,Name,Adresse,Umsatz)
VALUES (345,'C-Firma',
        Typ_Adresse(12345,'Z-Stadt','Y-Str','55'),
        200
        );
-- Firma 3a (ohne Firmenreferenzen)
INSERT INTO T_Firma (RegNr,Name,Adresse,Umsatz)
VALUES (346,'C1-Firma',
        Typ_Adresse(76543,'B-Stadt','D-Str','88'),
        135
        );
-- Firma 3b (ohne Firmenreferenzen)
INSERT INTO T_Firma (RegNr,Name,Adresse,Umsatz)
VALUES (347,'C2-Firma',
        Typ_Adresse(12345,'Z-Stadt','X-Weg','66'),
        50
        );
-- Firma 3c (ohne Firmenreferenzen)
INSERT INTO T_Firma (RegNr,Name,Adresse,Umsatz)
VALUES (348,'C2-Firma',
        Typ_Adresse(65432,'A-Stadt','A-Str','12'),
        15
        );
--

UPDATE T_Firma Subunternehmen f
SET	  f.Subunternehmen = CAST ( MULTISET 
				(SELECT REF(f2)
				 FROM T_Firma f2
				 WHERE f2.RegNr = 124 OR f2.RegNr=125)) AS Typ_FirmaTab)       
WHERE RegNr=123;				 

UPDATE T_Firma Subunternehmen f
SET	  f.Subunternehmen =  CAST ( MULTISET
				(SELECT REF(f2)
				 FROM T_Firma f2
				 WHERE f2.RegNr = 235)) AS Typ_FirmaTab)
WHERE RegNr=234;

UPDATE T_Firma Subunternehmen f
SET	  f.Subunternehmen = CAST ( MULTISET 
				(SELECT REF(f2)
				 FROM T_Firma f2
				 WHERE f2.RegNr = 346 OR f2.RegNr=347  OR f2.RegNr=348)) AS Typ_FirmaTab)       
WHERE RegNr=345;
                   
-- Verwendung der Methode Last_Bestellung als Spaltenfunktion
--select k.KNr, k.Last_Bestellung()
--from T_Kunde k;