Bonjour,

j'ai une commande sql a executer tous les jours et qui supprime la derniere données en date dans une table.
La commande est tres simple mais pas assez robuste ni securitaire

J'ai un code java qui genere un rapport dans une application, je telelcharge dans un repertoire temp et je supprimer quelque seconds plustard.
de cette face je peux voir dans la console que le rapport a bien ete crée etc...

Donc aussitot que le rapport est crée, il est aussi stocker dans une BD.
Et c'est ce rapport que je veux supprimer.

Je voudrai prendre l'heure de creation du fichier de rapport que je connais quand je telecharge le fichier et comparer avec la date ou le rapport a ete stocker
dans la BD, puis supprimer ce rapport avec son ID.

Cad obtenir la date actuelle en java puis ajouter 10s et rechercher les données entre cette plage de temps dans la BD.



Voici la table:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
NameId    Prenom           CreatedDate                          NameID
115         PA-TT-AA-12  10-06-10 10:35:10,308223000  100
115         PA-TT-AA-25  10-06-10 10:30:21,308223000  100 
115         PA-TT-AA-98  10-06-08 10:30:21,308223000  100
115         PA-TT-AA-56  10-06-09 10:30:21,308223000  100
Je peux ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
DELETE from MyTable
WHERE id = 
    (SELECT id FROM
        (SELECT id, row_number() OVER (ORDER BY CreatedDate desc) AS rn 
         FROM MyTable 
         WHERE NameID = 35)
     WHERE rn = 1);

Merci a vous, si vous avez des idées.