2014-11-11 13 views
11

Tôi biết làm thế nào để làm điều này trong SQL Server nhờ chút thông minh mã nàyKhôi phục Scripts truy vấn SQL chưa được lưu trong Oracle SQL Developer

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 

NGUỒN: Recover unsaved SQL query scripts

Có cách để làm điều này trong Oracle SQL Developer?

+2

'select * from v $ sql' –

+0

' ORA-00.942: bảng hoặc xem không tồn tại 00.942.00000 - "bảng hoặc chế độ xem không tồn tại" * Nguyên nhân: * Hành động: Lỗi tại dòng: 1 Cột: 14' – Matt

+3

Có vẻ như bạn đang thiếu các đặc quyền cần thiết –

Trả lời

27

Nếu bạn có quyền thì:

SELECT * FROM v$sql 

Nếu không sau đó nhấn F8 để đưa ra một danh sách trước đó chạy truy vấn.

17

This đã lưu mông của tôi nhiều lần.

Xin chào các bạn, đây thực sự là vấn đề khi bạn mất mã chưa được lưu. Trong khoảng một tháng Tôi đã làm việc trên một quy trình lớn và quên lưu mã trong SVN. Nếu bạn đọc điều này và nhớ có mã chưa được lưu, hãy cam kết ngay lập tức! :) Bởi vì mọi thứ có thể xảy ra với db kiểm tra của bạn. Được. bạn may mắn nếu bạn đang sử dụng Oracle SQL Developer, vì chương trình này có một tính năng tuyệt vời - nó tiết kiệm mã của bạn trong lịch sử sql sql của nó để ăn một bữa tiệc lớn của RAM của bạn. Mở tập tin của bạn thám hiểm và xác định vị trí thư mục này:

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

Bạn sẽ tìm thấy rất nhiều các tập tin xml, và nếu bạn hai lần may mắn, bạn sẽ tìm thấy mã bị mất của mình. Rất tuyệt vời. :). Nếu bạn đang sử dụng một chương trình khác, hãy cố gắng tìm tính năng như thế này và có thể nó sẽ giúp bạn. Lời chia buồn của tôi nếu bài đăng này không giúp bạn, trong bất kỳ trường hợp nào, hãy thử tìm một cái gì đó tốt trong số tiếp theo: 1) viết lại mã của bạn và nó sẽ tốt hơn trước khi bạn làm điều đó một lần 2) mã, do đó bạn sẽ không phải đối mặt như vậy vấn đề trong tương lai

+0

Điều này đã cứu tôi rất nhiều công việc làm lại ngày hôm nay. Cảm ơn! –

3

này được sử dụng lịch sử SQLDeveloper, như trong câu trả lời của Matt, nhưng nếu bạn muốn tìm kiếm thông qua các tập tin lịch sử cho mảnh truy vấn cụ thể mà bạn nhớ, họ là được đặt dưới dạng tệp .xml trong /home/username/.sqldeveloper/SqlHistory. Từ đó, hãy nhập:

find -type f -mtime -1 -print0 | xargs -0 grep -l <text>

(nơi -mtime -1 nghĩa là không sớm hơn một ngày trước).

1

Bạn cũng có thể thử, vì vậy bạn có thể lấy SQL chưa được lưu.

View> Lịch sử SQL, ví dụ, hãy nhìn hình ảnh này: enter image description here

Các vấn đề liên quan