Je sais comment faire cela dans SQL Server grâce à ce morceau de code intelligent
Use <database>
SELECT execquery.last_execution_time AS [Date Time], execsql.text AS [Script]
FROM sys.dm_exec_query_stats AS execquery
CROSS APPLY sys.dm_exec_sql_text(execquery.sql_handle) AS execsql
ORDER BY execquery.last_execution_time DESC
SOURCE: récupérer les scripts de requête SQL non enregistrés
Existe-t-il un moyen de le faire dans Oracle SQL Developer?
Si vous avez les privilèges, alors:
SELECT * FROM v$sql
Sinon, appuyez sur F8 pour afficher une liste des requêtes précédemment exécutées.
This a sauvé mes fesses plusieurs fois.
Salut les gars, c'est vraiment un problème lorsque vous perdez du code non enregistré. Depuis environ un mois, je travaille sur une grosse procédure et j'ai oublié d'enregistrer le code dans SVN. Si vous lisez ceci et que vous vous souvenez avoir un tel code non enregistré, engagez-le immédiatement! :) Parce que tout pourrait arriver avec votre base de données de test. D'accord. vous avez de la chance si vous utilisiez Oracle SQL Developer, car ce programme a une excellente fonctionnalité - il enregistre votre code dans son historique sql malgré la consommation d'une grande partie de votre RAM. Ouvrez votre explorateur de fichiers et recherchez ce dossier:
C:\Users \% USERNAME%\AppData\Roaming\SQL Developer\SqlHistory
Vous trouverez beaucoup de fichiers xml, et si vous avez deux fois de la chance, vous trouverez votre code perdu. C'est merveilleux. :). Si vous utilisez un autre programme, essayez de trouver une fonctionnalité comme celle-ci et peut-être que cela vous aidera. Mes condoléances si cet article ne vous aide pas, en tout cas, essayez de trouver quelque chose de bien parmi les suivants: 1) réécrivez votre code, et ce sera mieux qu'avant comme vous l'avez fait une fois 2) validez votre code, donc vous ne rencontrerez pas un tel problème à l'avenir
Cela utilise l'historique de SQLDeveloper, comme dans la réponse de Matt, mais si vous souhaitez rechercher dans les fichiers d'historique des fragments de requête spécifiques dont vous vous souvenez, ils se trouvent sous forme de fichiers .xml dans /home/username/.sqldeveloper/SqlHistory
. De là, entrez:
find -type f -mtime -1 -print0 | xargs -0 grep -l <text>
(où -mtime -1
signifie au plus tôt un jour).