salut a tous
j'ai déjà posés une question ici , ici et trouver la solution et la meilleur méthode est l'utilisation de Les procédures stockées
j'ai essayé de Convertir une base MySql en FireBird mais je n'ai pas pu faire.
par ce que les procedure en FireBird un peu compliqué pour moi
j'ai besoin de votre aide s'il vous plait
le code
Code:
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 drop view if exists `group1` -------------- -------------- create view `group1` as select id, nom, age, salaire from ( select *, row_number() over w as rang from vue where group1 = 1 window w as (order by salaire desc) ) as x where rang <= 3 order by rang -------------- -------------- select * from group1 -------------- +----+---------+------+---------+ | id | nom | age | salaire | +----+---------+------+---------+ | 5 | Eric | 30 | 2200.00 | | 4 | David | 30 | 2000.00 | | 15 | Ophélie | 30 | 2000.00 | +----+---------+------+---------+ -------------- drop view if exists `group2` -------------- -------------- create view `group2` as select id, nom, age, salaire from ( select *, row_number() over w as rang from vue where group2 = 1 window w as (order by salaire desc) ) as x where rang <= 3 order by rang -------------- -------------- select * from group2 -------------- +----+----------+------+---------+ | id | nom | age | salaire | +----+----------+------+---------+ | 2 | Bertrand | 37 | 2200.00 | | 8 | Henri | 36 | 2200.00 | | 11 | Karl | 37 | 2200.00 | +----+----------+------+---------+ -------------- drop view if exists `group3` -------------- -------------- create view `group3` as select id, nom, age, salaire from ( select *, row_number() over w as rang from vue where group3 = 1 window w as (order by salaire desc) ) as x where rang <= 2 order by rang -------------- -------------- select * from group3 -------------- +----+---------+------+---------+ | id | nom | age | salaire | +----+---------+------+---------+ | 3 | Charles | 43 | 2200.00 | | 9 | Irène | 45 | 2200.00 | +----+---------+------+---------+ -------------- select * from group1 union select * from group2 union select * from group3 -------------- +----+----------+------+---------+ | id | nom | age | salaire | +----+----------+------+---------+ | 5 | Eric | 30 | 2200.00 | | 4 | David | 30 | 2000.00 | | 15 | Ophélie | 30 | 2000.00 | | 2 | Bertrand | 37 | 2200.00 | | 8 | Henri | 36 | 2200.00 | | 11 | Karl | 37 | 2200.00 | | 3 | Charles | 43 | 2200.00 | | 9 | Irène | 45 | 2200.00 | +----+----------+------+---------+ -------------- COMMIT -------------- -------------- SET AUTOCOMMIT = 1