Bonjour,
Si quelqu'un peur m'aider, j'ai le script suivant qui me renvoit un résultat bizarre
J'obtiens le résultat suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 DROP RULE if exists OnDupKeytmpInventairescanpal ON tmpInventairescanpal; drop table if exists tmpInventairescanpal; CREATE TABLE tmpInventairescanpal ( pointeurarticle INTEGER DEFAULT 0, qt INTEGER DEFAULT NULL, CONSTRAINT "pointeurarticle" PRIMARY KEY("pointeurarticle") ); CREATE RULE OnDupKeytmpInventairescanpal AS ON INSERT TO tmpInventairescanpal WHERE (new.pointeurarticle IN ( SELECT tmpInventairescanpal.pointeurarticle FROM tmpInventairescanpal )) DO INSTEAD ( UPDATE tmpInventairescanpal SET qt=qt+NEW.qt WHERE pointeurarticle = new.pointeurarticle ); insert into tmpInventairescanpal (qt,pointeurarticle) values(1,1); insert into tmpInventairescanpal (qt,pointeurarticle) values(2,1); select * from tmpInventairescanpal;
pointeurarticle=1
qt=4
**
Si ensuite j'exécute la requete suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 insert into tmpInventairescanpal (qt,pointeurarticle) values(1,1); insert into tmpInventairescanpal (qt,pointeurarticle) values(2,1); select * from tmpInventairescanpal;
J'obtiens le résultat suivant
pointeurarticle=1
qt=7
ce qui est normal.
Merci de votre aide.
MS
Partager