Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Débuter
Débuter Forum d'entraide pour débuter avec Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/05/2011, 11h52   #1
Membre du Club
 
Inscription : mars 2008
Messages : 227
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 227
Points : 44
Points : 44
Par défaut Conservation des 100 dernières lignes d'une table

Bonjour.
Je souhaite faire une table HISTORIQUE qui comporte les changements effectués sur une base de données. Les champs sont HISTORIQUE_ID, HISTORIQUE_TYPE (suppression, modification, ajout), HISTORIQUE_DESCRIPTION (description de la donnée modifiée), HISTORIQUE_LOGINAUTEUR, HISTORIQUE_DATE (date de l'action).
Mais j'aimerais conserver en permanence uniquement les 100 dernières actions (par date) stockées dans cette table.
Je suppose qu'il faut faire un trigger mais qu'est-ce qu'il faut mettre dedans (je suis débutant)?
Merci.
JCD21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 12h03   #2
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 432
Points : 10 432
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Vous pouvez simplement activer les options d'audit :
http://www.oracle-base.com/articles/...ting_10gR2.php
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 13h04   #3
Membre du Club
 
Inscription : mars 2008
Messages : 227
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 227
Points : 44
Points : 44
Bonjour.
En fait, j'accède à la base oracle avec du PHP et j'aimerais entièrement personnaliser les descriptions de la table HISTORIQUE avec des chaînes de caractères du le PHP.
est-ce que l'audit peut le faire?
JCD21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 16h46   #4
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Et pourquoi pas simplement une vue pour sélectionner les 100 dernières lignes et un traitement de nuit pour supprimer les lignes inutiles ?
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 09h05   #5
Membre du Club
 
Inscription : mars 2008
Messages : 227
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 227
Points : 44
Points : 44
Un traitement de nuit, ça veut dire qu'il faut se coucher à 5H du matin ?
ça veut dire que c'est l'administrateur qui efface tout lui-même régulièrement?
JCD21 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 01/06/2011, 10h10   #6
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Non, ça veut dire que tu fais une tâche planifiée qui se lance la nuit pour supprimer les lignes
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 11h45   #7
Membre du Club
 
Inscription : mars 2008
Messages : 227
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 227
Points : 44
Points : 44
OK.
En fait, je fais une BDD accessible via PHP et je ne suis pas l'administrateur de la base.
On peut faire une tâche planifiée si on n'est pas administrateur?
Sinon, si j'utilisais un trigger, à quoi ressemblerait le code?
Merci.
JCD21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 15h07   #8
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Ben tu te trouves un poste avec cron sous linux ou les tâches planifiées de Windows et voila... un script SQL et c'est plié
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 18h21   #9
Membre Expert
 
Inscription : août 2008
Messages : 1 271
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1 271
Points : 1 929
Points : 1 929
La tâche planifiée c'est pour la purge de la table HISTORIQUE.

Pour la partie trigger tu peux t'inspirer de generic trigger for auditing column level changes
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h37.


 
 
 
 
Partenaires

Hébergement Web