Supprimer des dossiers en fonction de leur date de création - PL-SQL

Fermé
Utilisateur anonyme - 12 août 2019 à 16:02
 Utilisateur anonyme - 12 août 2019 à 17:33
Bonjour,

J'ai des dossiers contenant des fichiers extraits d'un Datamart à l'aides de vues/procédures qui sont crées à hauteur d'une extraction quotidienne.

Dans le soucis de maîtriser la volumétrie, j'aimerai mettre en place la suppression automatique des dossiers avec la logique suivante :

Je garde les 10 dossiers les plus récents donc à partir du 11e et plus (en terme d'ancienneté) --> supprimer.

J'ai réfléchi à la solution et pour le moment je pense à ça :

--> récupérer la date de création des dossiers en passant par des xp_cmdshell 'dir .... chemin de mes dossiers' , le problème c'est que j'obtiens des détails que je ne souhaite pas avoir et toute les informations sont stockées sous une même colonne. j'aimerai n'avoir que la date de création dans une colonne et le nom des dossiers dans une autre.

--> Ensuite je pense à stocker ces informations dans une variable de type "TABLE" puis éventuellement faire quelque chose comme qui dirait "delete Nom de fichier where date création > 10. Pour supprimer tous les dossiers ayant plus de 10 jours d'ancienneté.

merci d'avance pour votre aide
A voir également:

1 réponse

Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
Modifié le 12 août 2019 à 17:05
Bonjour,

Il me semble qu'un moteur SQL n'est pas l'outil idéal pour agir sur le système de fichiers. N'as-tu pas la possibilité de créer un vrai script, bash, batch ou powershell suivant l'environnement, voire python ?

Xavier
0
Utilisateur anonyme
12 août 2019 à 17:33
Merci pour votre retour.

Je ne suis pas un expert, mais je pense être restreint à l'utilisation de SQL avec éventuellement l'utilisation des commandes DOS / bash dans le cadre de mon projet.

Mes dossiers extraits quotidiennement ont un format : xxxxxx_xxx_YYYY-MM-DD
0