我知道如何在SQL Server中执行此操作,这要归功于这段巧妙的代码
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
来源:Recover unsaved SQL query scripts
在Oracle SQL Developer中是否有办法做到这一点?
6条答案
按热度按时间lymgl2op1#
This救了我好几次屁股。
当您丢失未保存的代码时,这确实是一个问题。大约一个月来,我一直在处理一个大过程,忘记将代码保存在SVN中。如果您阅读本文并记得有这样的未保存代码,请立即提交它!:)因为您的测试数据库可能会发生任何情况。好的。如果您使用的是Oracle SQL Developer,您就很幸运了,因为此程序有一个很棒的特性-它会将您的代码保存在其sql历史记录中,而不管它是否占用了您的大量RAM。打开文件资源管理器并找到以下文件夹:
C:\用户%用户名%\应用程序数据\漫游\SQL Developer\SQL历史记录
你会找到很多XML文件,如果你运气好的话,你会找到丢失的代码。这太棒了。:)。如果你正在使用其他程序,试着找到这样的功能,也许它会帮助你。如果这篇文章对你没有帮助,我深表同情,无论如何,试着在下面的文章中找到一些好的东西:1)重新编写代码,它会比以前更好,因为你做了一次2)提交你的代码,所以你不会在未来面临这样的问题
weylhg0b2#
如果您有权限,则:
如果没有,请按F8键调出以前运行的查询列表。
2hh7jdfx3#
您也可以尝试,这样您就可以获得未保存的SQL。
View〉SQL History,例如,请看以下图片:
m1m5dgzv4#
这是使用SQLDeveloper的历史记录,就像Matt的答案一样,但是如果您想在历史记录文件中搜索您记得的特定查询片段,它们作为.xml文件位于
/home/username/.sqldeveloper/SqlHistory
中。find -type f -mtime -1 -print0 | xargs -0 grep -l <text>
个(其中
-mtime -1
表示不早于一天前)。jc3wubiy5#
通过View〉SQL History或者通过按F8键都是一个很好的方法,它可以让你搜索内容或者连接数据库,真是一个很好的实现!
SQL History
e1xvtsh36#
使用撤消按钮,如图所示