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
| SELECT dt_deb INTO dtdeb
FROM histo_vent WHERE cd_vent = vent
AND dt_fin IS NULL;
dtfin := TO_DATE(SYSDATE,'DD/MM/YYYY HH24:MI:SS');
C'est faux : Il ne faut pas faire un TO_DATE d'une DATE.
le format d'une date n'est QUE visuel (ou pour mettre dans du VARCHAR)
dtfin := SYSDATE;
UPDATE histo_vent
SET dt_fin = dtfin
WHERE cd_vent = vent
AND dt_fin IS NULL;
COMMIT;
SELECT nb_temps INTO nbtemps
FROM cumul_vent
WHERE cd_vent = vent;
=> A moins d'utiliser nbtemps ailleurs, c'est inutile
UPDATE cumul_vent
SET nb_temps = NVL(nb_temps,0) + 24 * 60 * (dtfin - dtdeb)
WHERE cd_vent = vent;
Rajout d'un NVL au cas où nb_temps est NULL (NULL + x vaut toujours NULL)
COMMIT; |