Je peux obtenir un certain nombre de INSERT's
/UPDATE's
/DELETE's
de SQL%ROWCOUNT
var. Il existe également un moyen d'obtenir une dernière heure DML de chaque ligne.
Mais existe-t-il un moyen d'obtenir une dernière opération DML sur une table - INSERT
/UPDATE
/DELETE
?
Avec cette requête, vous verrez votre dernier événement DML en se penchant sur le dernier changement, la date la plus récente est la dernière opération
SELECT TABLE_OWNER,
TABLE_NAME,
INSERTS,
UPDATES,
DELETES,
TIMESTAMP AS `LAST_CHANGE`
FROM ALL_TAB_MODIFICATIONS
WHERE TO_CHAR(TIMESTAMP,'DD/MM/YYYY') = TO_CHAR(sysdate,'DD/MM/YYYY')
ORDER BY LAST_CHANGE DESC;
Mais la seule façon de l'utiliser consiste à séparer les événements DML dans différentes requêtes ou à ajouter trois différents last_change par événement dml. En tout cas tu me dis tes doutes
Vous pouvez activer l'audit de session utilisateur pour ce schéma qui exécute la commande. Regardez ensuite la table SYS. $ AUD pour voir quelle était cette opération avec l'horodatage. Vous pouvez également activer le contexte d'application, ce qui vous permet d'utiliser le package DBMS_APPLICATION_INFO pour suivre le DML spécifique dans des tables comme gv $ sql à l'aide des colonnes MODULE et ACTION. Je suis sûr qu'il y en a d'autres aussi.