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 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
| CREATE DATABASE '..\Data\Base.fdb' page_size 4096 DEFAULT CHARACTER SET ISO8859_1;
-- ============
-- Table 'mere'
-- ============
create table mere
( id char(06) not null,
lib char(10) not null,
primary key (id)
);
-- ===========
-- Jeu d'essai
-- ===========
insert into mere (id, lib) values ('num125', 'un');
insert into mere (id, lib) values ('num373', 'deux');
insert into mere (id, lib) values ('num425', 'trois');
insert into mere (id, lib) values ('num777', 'quatre');
insert into mere (id, lib) values ('num939', 'cinq');
-- ==============
-- Vidage de mere
-- ==============
select * from mere;
ID LIB
====== ==========
num125 un
num373 deux
num425 trois
num777 quatre
num939 cinq
commit;
-- =============
-- Table 'fille'
-- =============
create table fille
( id smallint generated by default as identity not null primary key,
clef char(06) REFERENCES mere (id) ON DELETE CASCADE ON UPDATE CASCADE,
val char(10) not null
);
-- ===========
-- Jeu d'essai
-- ===========
insert into fille (clef, val) values ('num125', 'one');
insert into fille (clef, val) values ('num373', 'two');
insert into fille (clef, val) values ('num425', 'three');
insert into fille (clef, val) values ('num777', 'four');
insert into fille (clef, val) values ('num939', 'five');
insert into fille (clef, val) values ('num125', 'eins');
insert into fille (clef, val) values ('num373', 'zwei');
insert into fille (clef, val) values ('num425', 'drei');
insert into fille (clef, val) values ('num777', 'vier');
insert into fille (clef, val) values ('num939', 'fünf');
insert into fille (clef, val) values ('num125', 'uno');
insert into fille (clef, val) values ('num373', 'duo');
insert into fille (clef, val) values ('num425', 'tre');
insert into fille (clef, val) values ('num777', 'quattro');
insert into fille (clef, val) values ('num939', 'cinque');
-- ===============
-- Vidage de fille
-- ===============
select * from fille;
ID CLEF VAL
======= ====== ==========
1 num125 one
2 num373 two
3 num425 three
4 num777 four
5 num939 five
6 num125 eins
7 num373 zwei
8 num425 drei
9 num777 vier
10 num939 fünf
11 num125 uno
12 num373 duo
13 num425 tre
14 num777 quattro
15 num939 cinque
commit;
-- ==============
-- Initialisation
-- ==============
create sequence seq$rang;
-- ============================
-- Renumérotation Clef Primaire
-- ============================
update mere set id='Rang' || right('00' || gen_id(seq$rang, 1),2) order by id;
-- =================
-- Vidage des tables
-- =================
select *
from mere as m
inner join fille as f
on f.clef = m.id;
ID LIB ID CLEF VAL
====== ========== ======= ====== ==========
Rang01 un 1 Rang01 one
Rang01 un 6 Rang01 eins
Rang01 un 11 Rang01 uno
Rang02 deux 2 Rang02 two
Rang02 deux 7 Rang02 zwei
Rang02 deux 12 Rang02 duo
Rang03 trois 3 Rang03 three
Rang03 trois 8 Rang03 drei
Rang03 trois 13 Rang03 tre
Rang04 quatre 4 Rang04 four
Rang04 quatre 9 Rang04 vier
Rang04 quatre 14 Rang04 quattro
Rang05 cinq 5 Rang05 five
Rang05 cinq 10 Rang05 fünf
Rang05 cinq 15 Rang05 cinque
exit;
Appuyez sur une touche pour continuer... |
Partager