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;
|