En ce moment je bosse sur la Représentation Intervallaire (RI) et donc j'aurais aimé "compresser" cette requête :
Code : Tout sélectionner
UPDATE NEW_FAMILLE
SET NFM_BD = NFM_BD + 2
WHERE NFM_BD >= 35
UPDATE NEW_FAMILLE
SET NFM_BG = NFM_BG + 2
WHERE NFM_BG >= 35
INSERT INTO NEW_FAMILLE (NFM_BG, NFM_BD, NFM_LIB)
VALUES (35, 36, 'Roller')
Code : Tout sélectionner
UPDATE NEW_FAMILLE AS A, NEW_FAMILLE AS B, NEW_FAMILLE AS C
SET A.NFM_BD = A.NFM_BD + 2, B.NFM_BG = B.NFM_BG + 2
WHERE C.NFM_PK=10 AND A.NFM_BD >= C.NFM_BD AND B.NFM_BG >= C.NFM_BG;
INSERT INTO NEW_FAMILLE (NFM_BG, NFM_BD, NFM_LIB)
VALUES (35, 36, 'Roller')Je suis sous :
PostGreSQL 8.3.4
Schema :
Code : Tout sélectionner
CREATE TABLE NEW_FAMILLE
(
NFM_PK serial
NFM_BG INTEGER,
NFM_BD INTEGER,
NFM_LIB CHARACTERE(32)
/* ... */
)PS : Question bonnus : Si dans une requete on met AS B, B est-il conservé dans le requête suivante, après un ; ?
Un bon maître a ce souci constant : enseigner à se passer de lui.