在 Oracle SQL Developer 中恢复未保存的 SQL 查询脚本

Posted

技术标签:

【中文标题】在 Oracle SQL Developer 中恢复未保存的 SQL 查询脚本【英文标题】:Recover unsaved SQL query Scripts in Oracle SQL Developer 【发布时间】:2015-01-07 18:42:51 【问题描述】:

感谢这段巧妙的代码,我知道如何在 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 中做到这一点?

【问题讨论】:

select * from v$sql ORA-00942: table or view does not exist 00942. 00000 - "table or view does not exist" *Cause: *Action: Error at Line: 1 Column: 14 显然您缺少必要的权限 检查 SQL Developer 历史记录可能也是值得的。在我的版本 4.0.3.16 中:从菜单中是 View --> SQL History 或快捷键 F8 @Matt 不错,很高兴它成功了! 【参考方案1】:

如果你有权限,那么:

SELECT * FROM v$sql

如果没有,请按 F8 以显示以前运行的查询列表。

【讨论】:

此解决方案和所有其他解决方案将仅提供您运行的 select 语句。例如,将找不到任何其他命令 alter【参考方案2】:

This 救了我好几次。

丢失未保存的代码确实是个问题。大约一个 一个月我一直在做一个大程序,忘记保存 SVN中的代码。如果你读过这篇文章并记得有这样未保存的代码, 立即提交! :) 因为一切都可能发生在你的身上 测试分贝。好的。如果您使用的是 Oracle SQL Developer,那么您很幸运, 因为这个程序有一个很棒的特性——它把你的代码保存在它的 sql 历史尽管吃了一大堆 RAM。打开你的文件 资源管理器并找到此文件夹:

C:\Users\%USERNAME%\AppData\Roaming\SQL Developer\SqlHistory

你会发现很多 XML 文件,如果运气好的话,你会发现 你丢失的代码。太棒了。 :) 。如果您正在使用其他程序, 尝试找到这样的功能,也许它可以帮助你。节哀顺变 如果这篇文章对你没有帮助,无论如何,试着找到一些好的东西 其中下一个:1)再次编写代码,它会比 之前你做过一次 2)提交你的代码,所以你不会面对这样的 未来的问题

【讨论】:

今天这个为我节省了很多重做工作。谢谢! 我认为此历史记录与使用 Alberto Cerqueira 在“查看 -> SQL 历史记录”(F8 键盘快捷键)上方显示的步骤通过 GUI 访问的历史记录相同。【参考方案3】:

你也可以试试,这样可以得到未保存的SQL。

View > SQL History,例如看这张图:

【讨论】:

【参考方案4】:

这是使用 SQLDeveloper 的历史记录,就像在 Matt 的回答中一样,但是如果您想在历史记录文件中搜索您记得的特定查询片段,它们位于 /home/username/.sqldeveloper/SqlHistory 中的 .xml 文件中。从那里输入:

find -type f -mtime -1 -print0 | xargs -0 grep -l &lt;text&gt;

(其中-mtime -1 表示不早于一天前)。

【讨论】:

以上是关于在 Oracle SQL Developer 中恢复未保存的 SQL 查询脚本的主要内容,如果未能解决你的问题,请参考以下文章

Oracle SQL Developer 连接 MySQL

pl/sql developer中文乱码,为啥呢?怎么解决?Oracle问题

pl/sql developer中文乱码,为啥呢?怎么解决?Oracle问题

pl/sql developer中文乱码,为啥呢?怎么解决?Oracle问题

ORACLE PL/SQL:在 Oracle SQL Developer 中测试 SELECT FOR UPDATE

pl/sql developer和sql developer有啥区别?